Страница 4 из 4

Re: Создание интерфейса

Добавлено: 27 авг 2012, 11:35
edward_K
1. Временная таблица вам поможет всегда.
2. Для дерева не очень понятно как на одном уровне совместить разные таблицы, разные на разных уровнях то можно, но тоже достаточно трудоемко.
3. Может быть будет интересней не дерево и скажем окно слева вверху - организации, окно справа вверху - итоговая информация, окно снизу либо с закладкаи либо на 2 части порезаное с информацией по платежам и отгрузкам (каждое в своем формате).
4. Вообще посмотрите какой нибуд отчет - например о ходе исполнения договора прямо из договора или что то подобное из отчетов - может уже все придумано?

Re: Создание интерфейса

Добавлено: 31 авг 2012, 09:40
Marisha_P
Подскажите, что неправильно делаю в запросе, просит доп.ключ corg+ddoc+ddoc для basedoc. В запросе хочу получить данные по конкретному контрагенту за определенный период:

наименование контрагента, номер договора, номер ДО на продажу и платежки по нему

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

select katorg.name, dogovor.nodoc, basedoc.nodoc, plpor.nodok
from
    basedoc(readonly),
    dogovor(readonly),
    katorg(readonly),
    basefin (readonly),
    plpor(readonly)
where
   ((  'наименование контрагента' ==  katorg.name and
      katorg.nrec  ==basedoc.corg      and
      basedoc.cdogovor == dogovor.nrec and
      word(1) == basedoc.direct (noindex) and
      basefin.cplpor  == plpor.nrec and
      word(2) == basefin.direct (noindex)and
      basedoc.nrec ==basefin.cbasedoc and
      date (24,08,2012)<<=basedoc.ddoc and
      date (30,08,2012) >>=basedoc.ddoc
     ));               

Re: Создание интерфейса

Добавлено: 31 авг 2012, 10:13
Алексей
ну пишет Вам что такого индекса нет. уберите дату из индекса

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

 
      date (24,08,2012)<<=basedoc.ddoc(noindex) and
      date (30,08,2012) >>=basedoc.ddoc(noindex)
а лучше используйте индекс BASEDOC13
VIDDOC + CORG + DDOC

Re: Создание интерфейса

Добавлено: 31 авг 2012, 10:13
Den
Вам говорят что нет подходящего индекса на описанные Вами условия на basedoc.
Используйте BASEDOC13, если нужно по определенным видам ДО тока инфу(как Вы сказали тока ДО на продажу..)

Re: Создание интерфейса

Добавлено: 31 авг 2012, 10:18
RAJAH
Marisha_P писал(а):просит доп.ключ corg+ddoc+ddoc для basedoc
В таблице BASEDOC нет такого индекса. Надо подобрать другой (связи местами переставить). Поищите в Суппорте подходящий. Поле ddoc проиндексировано совместно с viddoc, в основном, т.е., надо в правой части связи viddoc указать ещё.
Например, так:

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

select katorg.name, dogovor.nodoc, basedoc.nodoc, plpor.nodok
from
    basedoc(readonly),
    dogovor(readonly),
    katorg(readonly),
    basefin (readonly),
    plpor(readonly)
where
   ((
      basedoc.corg  /== katorg.nrec     and ('наименование контрагента' =  katorg.name) and
      basedoc.cdogovor == dogovor.nrec and
      word(1) == basedoc.direct (noindex) and
      basefin.cplpor  == plpor.nrec and
      word(2) == basefin.direct (noindex)and
      basedoc.nrec ==basefin.cbasedoc and
      date (24,08,2012)<<=basedoc.ddoc and
      date (30,08,2012) >>=basedoc.ddoc and
      201               == basedoc.viddoc
     ));

Re: Создание интерфейса

Добавлено: 03 сен 2012, 08:15
Marisha_P
Cпасибо всем за помощь! :)

Re: Создание интерфейса

Добавлено: 21 сен 2012, 13:57
Marisha_P
Помогите, пожалуйста, решить следующую проблемку: нужно выбрать платежные поручения - сторонние и собственные, которые не распределены, т.е. нет привязок к ДО. Пробую с помощью запроса:

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

select plpor.nodok,dogovor.nodoc,basefin.cstepdoc from plpor where
((   plpor.cplat/==katorg.nrec and
   ( 'наименование организации'=katorg.name)  and
      plpor.nrec==basefin.cplpor and
      basefin.cdogovor== dogovor.nrec and
      basefin.cstepdoc ==stepdoc.nrec and
      date (16,04,2012)<<=plpor.datvip and
      date (16,04,2012) >>=plpor.datvip
      and 0==basefin.cstepdoc
      and 0==basefin.tidkbase
));  


В результате получаю номера всех платежек за выбранный период, номер договора прописывается только у непривязанной. Как убрать из выборки неподходящие платежные поручения и по какому признаку отличаются сторонние и собственные платежки? у меня выбирают данные только сторонние:(

Re: Создание интерфейса

Добавлено: 21 сен 2012, 14:05
RAJAH
Marisha_P писал(а):Как убрать из выборки неподходящие платежные поручения

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

plpor.cstepdoc == stepdoc.nrec and
В условиях на view прописать

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

not isvalidall(tnstepdoc)
Marisha_P писал(а):у меня выбирают данные только сторонние
Естественно. Вы указываете в качестве плательщика какую-то стороннюю организацию (plpor.cplat). В собственных ссылка на контрагента plpor.cpol, а плательщиком будет ваша организация.

Re: Создание интерфейса

Добавлено: 21 сен 2012, 14:10
Marisha_P
спасибо!!! :)