ручная установка курсора в отчете excel

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

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

m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: ручная установка курсора в отчете excel

Сообщение m0p3e »

Ну так строка iRow. Вводим iRowFix и с ней работаем.
Olegpro
Новичок
Сообщения: 25
Зарегистрирован: 06 фев 2014, 11:36

Re: ручная установка курсора в отчете excel

Сообщение Olegpro »

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

Re: ручная установка курсора в отчете excel

Сообщение edward_K »

Для того чтобы попасть нужна связь между спецификаций так понимаю накладной на возврат(206) и спецификацией этой накладной. И тогда цикл ваш можно будет втянуть в цикл по спецификации - сейчас он стоит в следующем(по документу вроде).
как то так
spsoprnrec/*поле должно быть в прототипе - ищите как называется*/ == spsopr.nrec
and spsopr.cmc /== sp.cmc(noindex)
'- это сработает если есть правило - одна МЦ - одна позиция. Если на одну МЦ может быть несколько позиций, то надо усложнять.
Если просто перечислить список накладных без соотв. по позициям - то смотри пример ирины.
Olegpro
Новичок
Сообщения: 25
Зарегистрирован: 06 фев 2014, 11:36

Re: ручная установка курсора в отчете excel

Сообщение Olegpro »

Связь спецификации накладной и акта на брак, я правильно понимаю?
spsopr.cmc и sp.cmc это же одно и тоже. К тому же в spsopr нет поля cmc
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: ручная установка курсора в отчете excel

Сообщение edward_K »

ну cMcUsl конечно. Судя по коду спецификации из разных документов - во всех накладных это spsopr. Если вы их сцепите, то получите что хотите.
Olegpro
Новичок
Сообщения: 25
Зарегистрирован: 06 фев 2014, 11:36

Re: ручная установка курсора в отчете excel

Сообщение Olegpro »

Я сцепил следующим образом и засунул в цикл по спецификациям:

.Create view rrr
from katsopr kk,spsopr sp, attrval art, katmc mc
where//
((
comp(KATSOPRNREC)/==art.vcomp (noindex)
and '1110' ==art.wtable (noindex)
and art.crec==sp.nrec (noindex)
and '00010000000006DDh'/==art.cattrnam (noindex)
and sp.csopr==kk.nrec
and '206'==kk.vidsopr (noindex)
and sp.cmcusl==mc.nrec (noindex)
and NAME_TOVAR == mc.name
));


Однако результат тот же. Отчет выводит спецификации акта на брак верно, но везде пишет один и тот же номер накладной на возврат, видимо дело в том, что спецификация накладной ссылается на шапку акта на брак, а не конкретную спецификацию акта. Хотя я завязался через NAME_TOVAR. При этом у нас правило - одна МЦ - одна позиция, т.е. edward_K, Вы правы. Как изменить вьюшку, чтобы связать спецификаии через SPSOPRNREC? Ведь у меня есть связь art.crec==sp.nrec (noindex), это неверно?
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

Re: ручная установка курсора в отчете excel

Сообщение RAJAH »

Olegpro писал(а):Хотя я завязался через NAME_TOVAR
Лучше не связываться по строковым полям, когда есть comp-ссылки.

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

where
((
SPSOPRNREC      == spsopr.nrec and
spsopr.csopr   /== katsopr.nrec and (katsopr.vidsopr = 206) and
1110            == attrval.wtable and
spsopr.nrec    /== attrval.crec and
10000000006DDh  == attrval.cattrnam and
spsopr.cmcusl  /== katmc.nrec and (1 = spsopr.prmc)
));
Последний раз редактировалось RAJAH 20 фев 2014, 12:03, всего редактировалось 1 раз.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: ручная установка курсора в отчете excel

Сообщение edward_K »

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

.Create view rrr
from katsopr kk,spsopr sp, attrval art, katmc mc,spsopr
where//
((
     comp(spsoprnrec) == spsopr.nrec

and 1110 ==art.wtable  //вроде есть (noindex) и тип точно не текст
and 00010000000006DDh==art.cattrnam 
and comp(KATSOPRNREC)/==art.vcomp (noindex)
and art.crec /==sp.nrec  //зачем? (noindex)  включаем жесткую
and spsopr.cmc /== sp.cmc(noindex)
and sp.csopr==kk.nrec
and 206==kk.vidsopr (noindex)
and sp.cmcusl==mc.nrec 
// лишнее - кроме тормозов ничего не даст, нужно тогда писать еще and sp.cmcusl/==mc.nrec (noindex) -
// and NAME_TOVAR == mc.name,
));
Olegpro
Новичок
Сообщения: 25
Зарегистрирован: 06 фев 2014, 11:36

Re: ручная установка курсора в отчете excel

Сообщение Olegpro »

У wtable тип Word

Скомпилировал следующим образом:

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

.Create view rrr//
from katsopr kk,spsopr sp, attrval art, katmc mc,spsopr//
where//
((//
comp(SPSOPRNREC) == spsopr.nrec
and 1110 ==art.wtable (noindex)  //вроде есть (noindex) и тип точно не текст
and 00010000000006DDh==art.cattrnam
and comp(KATSOPRNREC)/==art.vcomp (noindex)//
and art.crec /==sp.nrec  //зачем? (noindex)  включаем жесткую
and spsopr.cmcusl /== sp.cmcusl(noindex)//
and sp.csopr==kk.nrec//
and 206==kk.vidsopr (noindex)//
and sp.cmcusl==mc.nrec
));//
Теперь записывает вместо номеров накладных нули. Ничего не понимаю
Olegpro
Новичок
Сообщения: 25
Зарегистрирован: 06 фев 2014, 11:36

Re: ручная установка курсора в отчете excel

Сообщение Olegpro »

Сделал запрос в PL/SQL Developere, выдает верные данные. Как теперь использовать циклы? По какому циклу бежать по таблице rrr?
Ответить