Создание интерфейса
Модераторы: m0p3e, edward_K, Модераторы
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Создание интерфейса
1. Временная таблица вам поможет всегда.
2. Для дерева не очень понятно как на одном уровне совместить разные таблицы, разные на разных уровнях то можно, но тоже достаточно трудоемко.
3. Может быть будет интересней не дерево и скажем окно слева вверху - организации, окно справа вверху - итоговая информация, окно снизу либо с закладкаи либо на 2 части порезаное с информацией по платежам и отгрузкам (каждое в своем формате).
4. Вообще посмотрите какой нибуд отчет - например о ходе исполнения договора прямо из договора или что то подобное из отчетов - может уже все придумано?
2. Для дерева не очень понятно как на одном уровне совместить разные таблицы, разные на разных уровнях то можно, но тоже достаточно трудоемко.
3. Может быть будет интересней не дерево и скажем окно слева вверху - организации, окно справа вверху - итоговая информация, окно снизу либо с закладкаи либо на 2 части порезаное с информацией по платежам и отгрузкам (каждое в своем формате).
4. Вообще посмотрите какой нибуд отчет - например о ходе исполнения договора прямо из договора или что то подобное из отчетов - может уже все придумано?
Re: Создание интерфейса
Подскажите, что неправильно делаю в запросе, просит доп.ключ 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
));
-
- Местный житель
- Сообщения: 2896
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
Re: Создание интерфейса
ну пишет Вам что такого индекса нет. уберите дату из индекса
а лучше используйте индекс BASEDOC13
VIDDOC + CORG + DDOC
Код: Выделить всё
date (24,08,2012)<<=basedoc.ddoc(noindex) and
date (30,08,2012) >>=basedoc.ddoc(noindex)
VIDDOC + CORG + DDOC
Последний раз редактировалось Алексей 31 авг 2012, 10:14, всего редактировалось 1 раз.
-
- Местный житель
- Сообщения: 1844
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Re: Создание интерфейса
Вам говорят что нет подходящего индекса на описанные Вами условия на basedoc.
Используйте BASEDOC13, если нужно по определенным видам ДО тока инфу(как Вы сказали тока ДО на продажу..)
Используйте BASEDOC13, если нужно по определенным видам ДО тока инфу(как Вы сказали тока ДО на продажу..)
Re: Создание интерфейса
В таблице BASEDOC нет такого индекса. Надо подобрать другой (связи местами переставить). Поищите в Суппорте подходящий. Поле ddoc проиндексировано совместно с viddoc, в основном, т.е., надо в правой части связи viddoc указать ещё.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
((
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: Создание интерфейса
Cпасибо всем за помощь!
Re: Создание интерфейса
Помогите, пожалуйста, решить следующую проблемку: нужно выбрать платежные поручения - сторонние и собственные, которые не распределены, т.е. нет привязок к ДО. Пробую с помощью запроса:
В результате получаю номера всех платежек за выбранный период, номер договора прописывается только у непривязанной. Как убрать из выборки неподходящие платежные поручения и по какому признаку отличаются сторонние и собственные платежки? у меня выбирают данные только сторонние:(
Код: Выделить всё
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: Создание интерфейса
Marisha_P писал(а):Как убрать из выборки неподходящие платежные поручения
Код: Выделить всё
plpor.cstepdoc == stepdoc.nrec and
Код: Выделить всё
not isvalidall(tnstepdoc)
Естественно. Вы указываете в качестве плательщика какую-то стороннюю организацию (plpor.cplat). В собственных ссылка на контрагента plpor.cpol, а плательщиком будет ваша организация.Marisha_P писал(а):у меня выбирают данные только сторонние
Re: Создание интерфейса
спасибо!!!