Как вытащить поле Status из таблицы Dover в отчете Реестр...

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

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

Иван
Местный житель
Сообщения: 200
Зарегистрирован: 28 апр 2009, 13:19
Откуда: Новороссийск

Как вытащить поле Status из таблицы Dover в отчете Реестр...

Сообщение Иван »

Как вытащить поле Status из таблицы Dover в отчете Реестр доверенностей?
Иван
Местный житель
Сообщения: 200
Зарегистрирован: 28 апр 2009, 13:19
Откуда: Новороссийск

Сообщение Иван »

Может я не так вопрос задал
Скажем есть у меня нрек_доверености, как мне программно в отчете получить из таблицы dover по этому нреку поле status ?
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

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

совсем новичек? в форме описывай логическую таблицу, делай связку comp(нрек_доверености) == dover.nrec

dover.status - будет твой статус. только там значения - цифры. сделай функция, которай вместо цифр будет выводить строки, в зависимости от значений. как то так...
ilshat
Местный житель
Сообщения: 222
Зарегистрирован: 04 июн 2008, 14:35
Откуда: Стерлитамак
Контактная информация:

Сообщение ilshat »

Насколько я помню в katnotes статусы живут, ссылка на него обычно cnote.
Иван
Местный житель
Сообщения: 200
Зарегистрирован: 28 апр 2009, 13:19
Откуда: Новороссийск

Сообщение Иван »

Так а если у меня реестр доверенностей, где в цикле надо пройтись и спозиционироваться на каждой конкретной доверенности?
П.С. да я новичок совсем, примеров не видел, просто документация с сухим описанием
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

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

какова задача? реестры доверенностей - стандартный отчет?
киньте сюда текст формы - подскажем.
Иван
Местный житель
Сообщения: 200
Зарегистрирован: 28 апр 2009, 13:19
Откуда: Новороссийск

Сообщение Иван »

Алексей, отчет - список: номер доверенности, дата, еще какие-то аттрибуты
Не хватает только статуса
В принципе мы решили эту проблему, но хотелось бы все-таки знать на будущее как это решается
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

через вьюху в присоединенке - читайте форум.
если связь один к одному и есть nrec, то можно функции из настройки хозопераций.
в начала InitServTxo(0)
в конце doneservtxo
(без этого не все функции отработают)
в середине sTxoGetFieldValue.
Иван
Местный житель
Сообщения: 200
Зарегистрирован: 28 апр 2009, 13:19
Откуда: Новороссийск

Сообщение Иван »

edward_K, то есть можно как-то сделать view и он в цикле будет автоматически позиционироваться во view на нужную запись?
Связь между потоком и списком доверенностями конечно один к одному, это по сути одна и та же таблица - доверенности, просто в потоке я так понял этого поля нету.
Интересен конечно способ через view, т.к. нужно добавить еще другие отчеты по внешним атрибутам. Можно выложить какой-нибудь простой пример?
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

ну не автоматически - надо принудительно спозиционироваться как то. На форуме полно примеров с разбором полетов.
попробуйте поискать linkform
Иван
Местный житель
Сообщения: 200
Зарегистрирован: 28 апр 2009, 13:19
Откуда: Новороссийск

Сообщение Иван »

Сделал я вытаскивание этого поля, но работает очень долго. Старый отчет выполняется может 30 секунд, а этот минут 20 :grin:

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

if ( (getFirst dover where dover.nrec= нрек_доверености) = tsOk)
X:=dover.status;
Можно как-то ускорить?
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

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

...where ((нрек_доверености==dover.nrec)) = tsOk)...
Иван
Местный житель
Сообщения: 200
Зарегистрирован: 28 апр 2009, 13:19
Откуда: Новороссийск

Сообщение Иван »

Алексей писал(а):...where ((нрек_доверености==dover.nrec)) = tsOk)...
Это ускорение будет или как правильно?
Иван
Местный житель
Сообщения: 200
Зарегистрирован: 28 апр 2009, 13:19
Откуда: Новороссийск

Сообщение Иван »

Интересно, что за числа он перебирает когда формирует реестр доверенностей? Тысяч 30 перебирает, причем с поиском по таблице время увеличивается на пару порядков. Подскажите как можно принципиально переделать этот отчет?
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

вы просто не умеете его готовить 8)
...where ((нрек_доверености==dover.nrec)) = tsOk)...
то попробовали?
а вообще этот where должен стоять во view а здесь просто getfirst
ну и место нужно выбирать правильное - где в прототипе сие поле используется, а не во вложеных циклах. Еще можно подкэшеировать во временную таблу и так далее.
Ответить