Пересчет сальдо

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

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

PViP
Местный житель
Сообщения: 254
Зарегистрирован: 08 июн 2007, 08:26
Откуда: Красноярск
Контактная информация:

Сообщение PViP »

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

Сообщение Den »

ModifOrd.vih похоже реализован впервые в 8.1. Поэтому подключив один заголовочный файл Вы ничего не добъетесь. Нужна реализация этих функций.

Глянул одним глазом как в 7.12 обрабатывается update текущей записи в панели редактирования спецификации РО

cmupdaterecord {
{ OneSpOrder_update ; OrdScan; }
}

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

Сообщение Den »

PViP писал(а):Den, они(функции) как будто не пересчитываю сальдовые остатки перед тем как среднюю цену рассчитать! :grin:
Думаю что нет - это паскалевские функции ПОЛУЧЕНИЯ наличия и средней цены. В основном они реализованы через выгрузки остатков на какую то дату во временную таблицу. Может быть, за исключением averageprice кторая возвращает просто цену на дату по разрезу.
Bulat-bash
Постоянный гость
Сообщения: 52
Зарегистрирован: 28 июн 2006, 08:45
Откуда: Уфа

Сообщение Bulat-bash »

Den правильно подметил.

Благодаря товарищу из Минска, у меня появилось следующее

файл ModifSal.vih

//******************************************************************************
// (c) корпорация Галактика
// Галактика 7.12 - Общие функции
// Объект с функциями модификации текущих остатков
//******************************************************************************

// для использования необходимо
// 1) описать переменную fModifSal при помощи #include ModifSal.var
// 2) запускать методы объектного интерфейса через переменную: fModifSal.ModifyDoRes(...

#ifNdef __ModifSal_VIH__
#define __ModifSal_VIH__

//******************************************************************************

#ifdef ComponentVersion
#component "L_Ostatki"
#end

//******************************************************************************
!#doc
!Модификация сальдовых остатков
!#end
ObjInterface ObjModifSalV1;

//******************************************************************************
// public-функции
//



!#doc
!Расчет средней цены для налогового учета РФ
!#end
Function CountSrPriceN(
kolSal_ : double;
priceSal_ : double;
kolOrd_ : double;
priceOrd_ : double;
v : word;
t : word
): double;

!#doc
!Расчет средней цены от двух чисел
!#end
Function CntSrAdd(
kol1_ : double;
price1_ : double;
kol2_ : double;
price2_ : double;
v : word;
t : word
): double;

!#doc
!Модификация сальдовых остатков по входящим параметрам
!#end
Function AddSaldoMC(
SP_ : word;
cMC_ : comp;
cPodr_ : comp;
cMOL_ : comp;
cParty_ : comp;
kol_ : double;
price_ : double;
vPrice_ : double;
cVal_ : comp;
priceN_ : double;
vPriceN : double;
Date_ : date;
minKol_ : double;
del_ : boolean;
wVidOrder : word;
wTipOrd : word
): boolean;

!#doc
!Модификация сальдовых остатков по ордеру
!#end
Function AddSaldoMC_Upd(cSpOrder_: comp; del_: boolean; upd_: boolean): boolean;

//******************************************************************************

end;

//******************************************************************************
//******************************************************************************

VipInterface ModifSalV1 implements ObjModifSalV1
#ifdef ATL51
licensed (FREE)
#end
;

//******************************************************************************

#end

//******************************************************************************




и файл ModifSal.var
//******************************************************************************
// (c) корпорация Галактика
// Галактика 7.12 - Логистика - склад
// Переменная типа интерфейса ModifSal
//******************************************************************************

#ifNdef __ModifSal_var__
#define __ModifSal_var__

#ifNdef __ModifSal_VIH__
#Warning Необходимо подключить ModifSal.VIH
#end

var oModifSal: ModifSalV1;

#end


Вообщем функция
AddSaldoMC_Upd
вроде бы делает то что нужно, только надо еще разобраться с параметрами
cSpOrder_: comp //sporder.nrec
del_: boolean; //вроде бы при true вводит новые остатки в разрезе, без учета предыдущих
upd_: boolean // ?

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

Сообщение Den »

2 Bulat-bash
Скажешь потом работает ли все это... :smile:
Bulat-bash
Постоянный гость
Сообщения: 52
Зарегистрирован: 28 июн 2006, 08:45
Откуда: Уфа

Сообщение Bulat-bash »

Работает!!!
Только не совсем понятно по поводу последнего параметра(Что ни ставлю - разницы не видно) :-(
Но это лучше чем ничего! :)
Ответить