Сумма, Цена МЦ

Приемы и подходы, обмен опытом

Модераторы: Screw, larin

Ответить
n0where
Сообщения: 72
Зарегистрирован: Вт, 21/12/2010 06:01
Имя Фамилия: Лобастов Александр
Откуда: Сода

Сумма, Цена МЦ

Сообщение n0where »

Такая проблема:
Необходимо получить среднюю цену по МЦ с помощью SQL имея мц, склад, мол, партия

делал через таблицу saldomc - в итоге данные не совсем верные по отношению к цене и количеству.

Подскажите как сделать... Может интерфейс какой запустить...
ilshat
заказчик партнера
Сообщения: 63
Зарегистрирован: Чт, 05/06/2008 11:09
Имя Фамилия: Ильшат Фахрисламов
Откуда: Каустик

Re: Сумма, Цена МЦ

Сообщение ilshat »

Раз уж про SQL говорите так запрос в студию кидайте!
Ged
топ-софт
Сообщения: 76
Зарегистрирован: Вс, 16/09/2007 10:23
Имя Фамилия: Леонид Поликутин
Откуда: Галактика СПб
Контактная информация:

Re: Сумма, Цена МЦ

Сообщение Ged »

С помощью SQL очень сложно.
Существуют внутренние функции расчета остатков и средних цен на указанную дату.

http://www.tyumbit.ru/gal_forum/viewtop ... store_init
n0where
Сообщения: 72
Зарегистрирован: Вт, 21/12/2010 06:01
Имя Фамилия: Лобастов Александр
Откуда: Сода

Re: Сумма, Цена МЦ

Сообщение n0where »

Viper как и компилятор интерфейсов пишет что нет такой функции InitMCInfo и тп.

Как заставить их работать?
Ged
топ-софт
Сообщения: 76
Зарегистрирован: Вс, 16/09/2007 10:23
Имя Фамилия: Леонид Поликутин
Откуда: Галактика СПб
Контактная информация:

Re: Сумма, Цена МЦ

Сообщение Ged »

необходимо подключить к проекту
G_Skl_EF.inc
лежит в
Gal810\Frm\ExtFun.rar\src\CompSrc\ExtFun\ExtFun\Vip\
n0where
Сообщения: 72
Зарегистрирован: Вт, 21/12/2010 06:01
Имя Фамилия: Лобастов Александр
Откуда: Сода

Re: Сумма, Цена МЦ

Сообщение n0where »

Не подскажите как это сделать?

молодой я есчо не опытный
n0where
Сообщения: 72
Зарегистрирован: Вт, 21/12/2010 06:01
Имя Фамилия: Лобастов Александр
Откуда: Сода

Re: Сумма, Цена МЦ

Сообщение n0where »

У меня есть просто vip файл

подключаю просто после

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

Interface CreatePeresort;

#include G_Skl_EF.inc

create view ...

ВЫдаёт ошибки типа функция уже зарегана, и в самом inc пишет ошибку типа неправильный синтаксис
Ged
топ-софт
Сообщения: 76
Зарегистрирован: Вс, 16/09/2007 10:23
Имя Фамилия: Леонид Поликутин
Откуда: Галактика СПб
Контактная информация:

Re: Сумма, Цена МЦ

Сообщение Ged »

1. Распаковать все архивы из указанной папки в отдельно взятую.
После патчирования делать то-же самое, т.к. исхи могут меняться.
У меня каталог d:\Galaxy\Gal810\FrmSrc\
2. В новом каталоге в командной строке выполнить
d:\Galaxy\Gal810\FrmSrc\dir /A:D /B/S > includePath.inc
Получиться нечто след.

D:\Galaxy\Gal810\FrmSrc\Inc
D:\Galaxy\Gal810\FrmSrc\src
D:\Galaxy\Gal810\FrmSrc\src\CompSrc
D:\Galaxy\Gal810\FrmSrc\src\Inc
D:\Galaxy\Gal810\FrmSrc\src\CompSrc\ExtFun
D:\Galaxy\Gal810\FrmSrc\src\CompSrc\F
D:\Galaxy\Gal810\FrmSrc\src\CompSrc\Z
D:\Galaxy\Gal810\FrmSrc\src\CompSrc\ExtFun\ExtFun
D:\Galaxy\Gal810\FrmSrc\src\CompSrc\ExtFun\ExtFun\Vip

3. В любом текстовом редакторе (можно блокноте) пакетно заменить
«d:\Galaxy\Gal810\» на «/i:%Src%»
Получим

/i:%Src%FrmSrc\Inc
/i:%Src%FrmSrc\src
/i:%Src%FrmSrc\src\CompSrc
/i:%Src%FrmSrc\src\Inc
/i:%Src%FrmSrc\src\CompSrc\ExtFun
/i:%Src%FrmSrc\src\CompSrc\F
/i:%Src%FrmSrc\src\CompSrc\Z
/i:%Src%FrmSrc\src\CompSrc\ExtFun\ExtFun

Для чего это делалось – в случае переноса исходников форм достаточно будет поменять переменную окружения, вместо переименования всех каталогов.

4. Настраиваем support.cfg или vip.cfg стандартным образом (подключаемся к определенной БД и прописываем необходимые параметры)
А также в cfg файле указываем
#include includePath.inc
Или полный путь к этому файлу, если includePath.inc лежит в папке отличной от папки компиляции
5. В bat файле (саппорта или випа) прописываем
Set Src = d:\Galaxy\Gal810\
start D:\Galaxy\Gal810\Sup5208\exe\support.exe


6. Для компиляции в проекте прописываем
#statusline "statgal"
#include galnet.inc end;
#include glovars.inc

#include G_Skl_EF.inc
#make "MyInterface.Vip"
n0where
Сообщения: 72
Зарегистрирован: Вт, 21/12/2010 06:01
Имя Фамилия: Лобастов Александр
Откуда: Сода

Re: Сумма, Цена МЦ

Сообщение n0where »

Получилось намного проще выше interface вставил экспортные функции и но проблем.
Ged
топ-софт
Сообщения: 76
Зарегистрирован: Вс, 16/09/2007 10:23
Имя Фамилия: Леонид Поликутин
Откуда: Галактика СПб
Контактная информация:

Re: Сумма, Цена МЦ

Сообщение Ged »

Ну так и написал..
Но проще не значит правильно. При наличии большего количества проектов
лучше последовать рекомендациям.
kroxa
топ-софт
Сообщения: 65
Зарегистрирован: Пт, 07/09/2007 11:57
Имя Фамилия: Александр Крахотко
Откуда: ТопСофт
Контактная информация:

Re: Сумма, Цена МЦ

Сообщение kroxa »

Ged писал(а):Существуют внутренние функции расчета остатков и средних цен на указанную дату.
http://www.tyumbit.ru/gal_forum/viewtop ... store_init
в ветке тюмбита приведен не совсем корректный пример...
store_run не эффективно вызывать в цикле, вернее это может сработать лучше чем "-2" (pick) только при очень малом цикле (до 10 итераций) и очень большом количестве разрезов в остатках (saldofnd). указанная функция пытаться сама оптимизировать план запроса при этом делает это при каждом вызове!!! на что тратит как минимум 40 миллисекунд и несколько лишних запросов для настройки плана запроса (см. Function GetMethod в REP_OST.PAS).

а sql написать не так и сложно:
1. делаете "жесткие" ограничения с учетом Ваших фильтров (а-ля SaldoFnd /== pick)
2. вычисляете остаток по конкретному разрезу подзапросом по saldomc (а-ля getlast saldomc order by dsaldo)
3. делаете для saldofnd - group by по вашему разрезу

на SQL платформах можно добиться большей производительности при правильном написании данного запроса
Ged
топ-софт
Сообщения: 76
Зарегистрирован: Вс, 16/09/2007 10:23
Имя Фамилия: Леонид Поликутин
Откуда: Галактика СПб
Контактная информация:

Re: Сумма, Цена МЦ

Сообщение Ged »

kroxa писал(а): в ветке тюмбита приведен не совсем корректный пример...
Лучше пользоваться стандартным функционалом
чем скуль запросом, т.к. методология и функционал может поменяться.
А программер просто изначально этого не увидит.
kroxa
топ-софт
Сообщения: 65
Зарегистрирован: Пт, 07/09/2007 11:57
Имя Фамилия: Александр Крахотко
Откуда: ТопСофт
Контактная информация:

Re: Сумма, Цена МЦ

Сообщение kroxa »

Ged писал(а):Лучше пользоваться стандартным функционалом...
перефразирую - "лучше пользоваться стандартным отчетом из Галактика ERP" ;-)
n0where
Сообщения: 72
Зарегистрирован: Вт, 21/12/2010 06:01
Имя Фамилия: Лобастов Александр
Откуда: Сода

Re: Сумма, Цена МЦ

Сообщение n0where »

kroxa писал(а):
Ged писал(а): 2. вычисляете остаток по конкретному разрезу подзапросом по saldomc (а-ля getlast saldomc order by dsaldo)
Так делал, но данные в saldomc не поступают оперативно, т.е. в этой таблице храняться старые данные о ценах и количествах мц, по логике там храняться данные записанные при расходе МЦ, а если был приход после этого данные не записываются.
Ответить