Цитата: Mtirt ➤ Цену последней поставки можно получить по движению артикула.
По движению артикула цену последней поставки узнать не так то просто...
точнее получится не совсем то. отбор за период, кол-во прихода, сумма прихода, одно на другое поделить - будет скорее среднее значение. Опять же, если не было прихода за этот период.
Идеально - функция, которая искала бы последний документ прихода и вытаскивала бы из него цену, количество, дату или три таких функции.
Может быть такая и существует.
Может быть кто-то уже нечто подобное писал ? Не поделитесь ?
Пока самому удалось только вытаскивать дату документа последнего прихода. Еще бы функцию, которая бы по id документа и артикулу выдавала количество, цену в этом документе..
Или подскажите в каких таблицах/вьюшках лежит это...
И еще вопрос к знатокам - при задании периода существуют ли некие переменные их обозначающие ? типа дата начала/дата конца, чтобы можно было их в свои функции передать каким-то образом ?
И может кто напишет код, как вытащить ид документа последнего прихода ?
моя функция по вытаскиванию даты последнего прихода ниже... Правда там ограничение - за последние 100 дней от текущей даты, ибо по всей базе очень долго ищется. Чувтсвуется, возможности ее убыстрить существуют, только при слабом знании Oracle не знаю как...
Цитата: create or replace function article_last_income_date(Mystoreloc in integer, Myarticle in Varchar2) return date is
Result date;
begin
select MAX(D.Createdat) into result
from Supermag.SVAMovementArt D
WHERE D.ARTICLE=MyArticle
AND D.OpCode=0
AND D.STORELOC=MyStoreLoc
AND D.Createdat between (sysdate-100) and sysdate;
return Result;
end article_last_income_date;
/