Страница 3 из 3
Re: ручная установка курсора в отчете excel
Добавлено: 19 фев 2014, 19:17
m0p3e
Ну так строка iRow. Вводим iRowFix и с ней работаем.
Re: ручная установка курсора в отчете excel
Добавлено: 19 фев 2014, 19:32
Olegpro
Можете указать это в последнем коде, который я отправлял? Он рабочий, сейчас я с ним оперирую. Я просто не очень понимаю, как галактика работает с несколькими документами, где вставлять присвоение iRowFix:=iRow и как дальше работать с ним?
Re: ручная установка курсора в отчете excel
Добавлено: 19 фев 2014, 19:57
edward_K
Для того чтобы попасть нужна связь между спецификаций так понимаю накладной на возврат(206) и спецификацией этой накладной. И тогда цикл ваш можно будет втянуть в цикл по спецификации - сейчас он стоит в следующем(по документу вроде).
как то так
spsoprnrec/*поле должно быть в прототипе - ищите как называется*/ == spsopr.nrec
and spsopr.cmc /== sp.cmc(noindex)
'- это сработает если есть правило - одна МЦ - одна позиция. Если на одну МЦ может быть несколько позиций, то надо усложнять.
Если просто перечислить список накладных без соотв. по позициям - то смотри пример ирины.
Re: ручная установка курсора в отчете excel
Добавлено: 20 фев 2014, 10:39
Olegpro
Связь спецификации накладной и акта на брак, я правильно понимаю?
spsopr.cmc и sp.cmc это же одно и тоже. К тому же в spsopr нет поля cmc
Re: ручная установка курсора в отчете excel
Добавлено: 20 фев 2014, 10:55
edward_K
ну cMcUsl конечно. Судя по коду спецификации из разных документов - во всех накладных это spsopr. Если вы их сцепите, то получите что хотите.
Re: ручная установка курсора в отчете excel
Добавлено: 20 фев 2014, 11:21
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), это неверно?
Re: ручная установка курсора в отчете excel
Добавлено: 20 фев 2014, 11:36
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)
));
Re: ручная установка курсора в отчете excel
Добавлено: 20 фев 2014, 11:46
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,
));
Re: ручная установка курсора в отчете excel
Добавлено: 20 фев 2014, 11:57
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
));//
Теперь записывает вместо номеров накладных нули. Ничего не понимаю
Re: ручная установка курсора в отчете excel
Добавлено: 20 фев 2014, 13:53
Olegpro
Сделал запрос в PL/SQL Developere, выдает верные данные. Как теперь использовать циклы? По какому циклу бежать по таблице rrr?