Быстро посчитать сальдо по МЦ

ПНР и сопровождение

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

hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Re: Быстро посчитать сальдо по МЦ

Сообщение hope »

Думаю - Может в стандартный галактический отчет по наличию - добавить свою информацию???? Может быть устроит быстродействие???
Данные пока всего за 3 года.
С dll, наверное, не буду заморачиваться.... Галактика у нас умирает, 1С победила.
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

Re: Быстро посчитать сальдо по МЦ

Сообщение RAJAH »

В 7.12 FastReport есть? Можно в FR создать ADODataBase, подсоединиться к своей БД, привязать к нему ADOQuery, а там уже по правилам T-SQL написать запрос.
n0where
Местный житель
Сообщения: 499
Зарегистрирован: 30 дек 2010, 08:16

Re: Быстро посчитать сальдо по МЦ

Сообщение n0where »

В Галактике возможно использовать DirectSQL.
Что значит бегать циклами?
Выполните в саппорте

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

SQL SELECT
KatMC.Name,
KatPodr.Name,
KatMol.Name,
KatParty.Name,
Data.sKol
FROM
(
SELECT
CMC,
CPARTY,
CCMOL,
CCPODR,
sum((case when VIDORDER=1 then -KOL else KOL end)) as sKOL
FROM
SPORDER
GROUP BY
CMC, cPARTY, CCMOL, CCPODR, VIDORDER
) as Data
LEFT JOIN KATMC on KatMC.nRec = Data.cmc
LEFT JOIN KATPARTY on KATPARTY.NREC = DATA.CPARTY
LEFT JOIN KATMOL on KATMOL.NREC = DATA.CCMOL
LEFT JOIN KATPODR on KATPODR.NREC = DATA.CCPODR;
У нас данные за 10 лет. запрос выполняется 20 сек
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

Re: Быстро посчитать сальдо по МЦ

Сообщение RAJAH »

n0where
На предыдущей странице выяснили, что у hope стоит 7.12, а там нет D-SQL.
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Re: Быстро посчитать сальдо по МЦ

Сообщение hope »

Указанный выше запрос не выполняется, не знает 7.12 оператор SQL, к сожалению.

Вопрос n0where: разве это быстро - собирать сальдо по всем складским ордерам?
У нас в одной базе за 3 года 7 млн записей в SpOrder. Хотя, можно попробовать - может по ордерам, действительно, быстрее посчитает сальдо?

В 7.12 группировку можно в запросе использовать?
n0where
Местный житель
Сообщения: 499
Зарегистрирован: 30 дек 2010, 08:16

Re: Быстро посчитать сальдо по МЦ

Сообщение n0where »

Ну а в чем проблема? не одним саппортом еДины - SQL запрос в другом месте выполнить то можно.
разве это быстро - собирать сальдо по всем складским ордерам?
Я ж говорю - У нас 6 млн. Даже если было и 20. Все же быстрее чем в Галактике.
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Re: Быстро посчитать сальдо по МЦ

Сообщение hope »

Пробую настроить связь с таблицами Галактики в Access, но почему-то таблицы пустыми подвязываются???
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Re: Быстро посчитать сальдо по МЦ

Сообщение hope »

Кто-нибудь подключается к базе Галактики из MS Access?
Подскажи, плз, почему данные не видятся - таблицы пустые?
ecasoft
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г.Королев МО ООО "Эффективная Комплексная Автоматизация- СОФТ"

Re: Быстро посчитать сальдо по МЦ

Сообщение ecasoft »

hope писал(а):Если в 7.12 нет DSQL, буду пробовать Store_ - может быть устроит быстродействие....
Спасибо!
Я бы поступил слудующим образом:
Cначало создать таблицу МЦ, по которым есть остатки и сохранить ее в Галактике в любой таблице контура, который у Вас не используется. Затем каждый раз получая остатки:

1. Пополнять табдицу всеми МЦ новыми (записанными в каталог МЦ после последнего запуска этой программы)
2. Получать остатки по 8 тыс записей SQL-лем. Это будет в любом случае быстро.
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Re: Быстро посчитать сальдо по МЦ

Сообщение hope »

"Cначало создать таблицу МЦ, по которым есть остатки и сохранить ее в Галактике в любой таблице контура"

Так ведь на разные даты - остатки по разным МЦ - так и получится весь каталог МЦ в этой таблице окажется...
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Re: Быстро посчитать сальдо по МЦ

Сообщение hope »

hope писал(а):Кто-нибудь подключается к базе Галактики из MS Access?
Подскажи, плз, почему данные не видятся - таблицы пустые?
Не те таблицы настраивала для связи - журнальные, которые были пустыми.

Теперь данные есть, только ссылки-Nrec-и - отображаются как псевдографика....
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Re: Быстро посчитать сальдо по МЦ

Сообщение hope »

Может кто-нибудь в курсе: как сделать, чтобы в Access поля типа Comp отображались правильно?
spark
Местный житель
Сообщения: 476
Зарегистрирован: 19 окт 2005, 13:38
Контактная информация:

Re: Быстро посчитать сальдо по МЦ

Сообщение spark »

hope писал(а):Может кто-нибудь в курсе: как сделать, чтобы в Access поля типа Comp отображались правильно?

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

SELECT dbo.ToInt64(F$NREC) as NREC FROM dbo.T$BASEDOC
ecasoft
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г.Королев МО ООО "Эффективная Комплексная Автоматизация- СОФТ"

Re: Быстро посчитать сальдо по МЦ

Сообщение ecasoft »

hope писал(а):"Cначало создать таблицу МЦ, по которым есть остатки и сохранить ее в Галактике в любой таблице контура"

Так ведь на разные даты - остатки по разным МЦ - так и получится весь каталог МЦ в этой таблице окажется...
Я прочел Ваше самое первое сообщение, первые две строки - 80 тыс МЦ, остатки 8 тыс. Вы сами его перечитайте - что Вы имели ввиду под этими цифрами в первом сообщении? Теперь Вы говорите, что 80 тыс остатков, раз остатки по всем есть?

Вам какие остатки нужны? За какой период? Например, за последний год - пройдитесь и найдите МЦ, те что были с остатками в последнем году - получите таблицу.

PS У нас на сопровождении текстильная компания. МЦ - 120 тыс. Реальных остатков - не более 10 тыс. за последний год. Имеется ввиду, что в последнем году хотя бы один день у этих МЦ был с ненулевыe остатками. Таблица остатков этого не знает и Вы идете по 120 тыс. А если отбирать 10 тыс, а затем по ним делать остатки, то это сокращает значительно получение остатков.

Аналогичная картина в ГАлактике с пересчетом средних цен в расходных ордерах. Когда Вы входите, то Вам предлагается пометить те, которые нужно пересчисчитать. Но это бред,т.к. Вы часто помечаете все или одну. А можно написать программку которая поставил пометку только у тех, по которым было движение и расчет будет в несколько раз короче- может несколько минут. А многие считают ночами,т.к. всегда у всех пересчистывают.
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Быстро посчитать сальдо по МЦ

Сообщение Den »

ecasoft, топикстартер просто привел немного лишней информации... )Остатки за период ..это как ? Остатки - они всегда на какую то дату, насколько я себе представлял...
Все сводится к тому(упрощенно пишу конечно...) чтобы выловить из saldomc на n-ую дату разрез (разрез тот, который нужен в соответствии с методом учета по складу на предпритяии..имею ввиду подраз -мол-мц, подраз-мол-мц-партия и т.д....) по которому кол-во остатка не нулевое. И, конечно, тут katmc имеет к данной задаче вообщем то весьма косвенное отношение
Ответить