ПЛАТЕЖНЫЕ ДОКУМЕНТЫ

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

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

korvanakorvana
Местный житель
Сообщения: 429
Зарегистрирован: 24 сен 2008, 11:53

ПЛАТЕЖНЫЕ ДОКУМЕНТЫ

Сообщение korvanakorvana »

Необходимо сделать выборку. Выбрать препараты с опр датой отгрузки по определенным документам(платежное поручение)

Так вот вопрос как определить что оплата была по платежному поручению(какой у него код? )?
Seybukan
Местный житель
Сообщения: 1357
Зарегистрирован: 29 мар 2005, 17:49
Откуда: СПб, ЭП-Аудит
Контактная информация:

Сообщение Seybukan »

Все системные коды документов живут:
Настройка \ Настройка \ Заполнение каталогов \ Документы системы

Что касается отдельно всех платежных документов (платежки, ордера, бухсправки) - то там может быть еще и пользовательский код, если настроено ведение нескольких касс, расчетных счетов, валютных счетов, бухсправок. Но это дополнительная фильтрация по пользовательскому коду в рамках одного системного.
korvanakorvana
Местный житель
Сообщения: 429
Зарегистрирован: 24 сен 2008, 11:53

Сообщение korvanakorvana »

компилятор не видя в Mark.inc ругается на AtConst.inc говорит что его нет....дайте пожалуйста
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

он весит дофига - тока на мыло, поскольку в профиле не укзано, то шли на мое. С другой стороны можно просто создать пустышку.
korvanakorvana
Местный житель
Сообщения: 429
Зарегистрирован: 24 сен 2008, 11:53

Сообщение korvanakorvana »

korvanakorvana
Местный житель
Сообщения: 429
Зарегистрирован: 24 сен 2008, 11:53

Сообщение korvanakorvana »

Платежное поручение нашла :) Basefin.Tipdoc==10051.
Но когда включаю в выборку при компилировании вылетает сообщение
Изображение
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

1. сообшение можно и не картинкой вырезать а брать из vip_res.log
2. ну нет индексов что вы заказали - "(noindex)" после условия по которому нет индекса вам поможет. Без запроса точно не сказать. Посмотрите в словаре может более подходящее условие подберете по индексам.
3. Лучше ориентироваться по tidkgal или по аналогичным полям - для платежки это 1 или 2, а tipdoc это польз.тип - он зависит от ваших настроек.
korvanakorvana
Местный житель
Сообщения: 429
Зарегистрирован: 24 сен 2008, 11:53

Сообщение korvanakorvana »

edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

а запросик из него не проще вырезать? :)
korvanakorvana
Местный житель
Сообщения: 429
Зарегистрирован: 24 сен 2008, 11:53

Сообщение korvanakorvana »

Пардон)

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

create view
var
date1, dat1, date2, dat2, date3, dat3:date;
XlRes: Boolean;
aFileName: String;
as
Select *
From 
basefin, 
basedoc, 
stepdoc, 
katsopr,
katmc katmc1,
tkvart,
t_katmc _katmc
, KatMC
, t_katmc
, t_bf
, t_do
, toplat
Where
((
    katmc.nrec==_katmc.nrec
and 10051==basefin.tipdoc
and 1==basefin.direct

//and '2909'==basefin.nodoc(noindex)

and dat1<<=basefin.ddoc
and dat2>>=basefin.ddoc(noindex)
and basefin.cbasedoc==basedoc.nrec

and word(201)==basedoc.viddoc(noindex)

and dat3<<=basedoc.ddoc(noindex)

and basedoc.nrec==stepdoc.cbasedoc
and stepdoc.nrec==katsopr.cstepdoc

and katsopr.nrec == spsopr.csopr
and 1 == spsopr.prmc
and spsopr.cmcusl == katmc1.nrec
));
KATZ
Местный житель
Сообщения: 473
Зарегистрирован: 29 мар 2005, 17:49

Сообщение KATZ »

korvanakorvana
Есть индексы tipdoc+ddoc и direct+ddoc, возьмите один из них (наверное, лучше первый, т. к. для входящих ПП, пусть даже пользовательского типа, всегда будет direct=1).
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

угу - типа этого
and 10051==basefin.tipdoc
and dat1<<=basefin.ddoc
and dat2>>=basefin.ddoc
tipdoc вам однозначно определит направление.
если у вас поле 2 раза фильтруется(и сие могет быть тока в последнем условии если по индексу) то и noindex нужно писать в обоих строках.
korvanakorvana
Местный житель
Сообщения: 429
Зарегистрирован: 24 сен 2008, 11:53

Сообщение korvanakorvana »

про tipdoc+ddoc и direct+ddoc я первый раз узнала KATZ
спасибо за инфу.edward_K как всегда мой спаситель)
korvanakorvana
Местный житель
Сообщения: 429
Зарегистрирован: 24 сен 2008, 11:53

Сообщение korvanakorvana »

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

Сообщение edward_K »

1 или 2 для поручений. А дальше зависит. Если одна накладная=одно До, то просто
Для свое отгрузки отбор входящих платежек
1 == basefin.direct//входящий
and katsopr.cstepdoc == basefin.cstepdoc
and 2 == basefin.TIDKGAL(noindex) // сторонее платежное поручение
Если нет то ищите на форуме SpSopHoz - но платежи все должны быть распределены по накладным.
Ответить