Страница 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?