Страница 2 из 2
					
				
				Добавлено: 11 сен 2007, 11:34
				 PViP
				Den, они(функции) как будто не пересчитываю сальдовые остатки перед тем как среднюю цену рассчитать!   

 
			 
			
					
				
				Добавлено: 11 сен 2007, 11:46
				 Den
				ModifOrd.vih похоже реализован впервые в 8.1. Поэтому подключив один заголовочный файл Вы ничего не добъетесь. Нужна реализация этих функций.
Глянул одним глазом как в 7.12 обрабатывается update текущей записи в панели редактирования спецификации РО
cmupdaterecord {
                           { OneSpOrder_update ; OrdScan; }
                         }
Эти процедуры вызывают кучу других процедур по цепочке похоже.
И это наверняка немало include-файлов чтобы все это дело собрать. Видимо поэтому ребята из галактики и решили написать объект для работы с сальдовыми остатками в 8.1
			 
			
					
				
				Добавлено: 11 сен 2007, 11:52
				 Den
				PViP писал(а):Den, они(функции) как будто не пересчитываю сальдовые остатки перед тем как среднюю цену рассчитать!   

 
Думаю что нет - это паскалевские функции ПОЛУЧЕНИЯ наличия и средней цены. В основном они реализованы через выгрузки остатков на какую то дату во временную таблицу. Может быть, за исключением averageprice кторая возвращает просто цену на дату по разрезу.
 
			 
			
					
				
				Добавлено: 11 сен 2007, 12:33
				 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]
			 
			
					
				
				Добавлено: 11 сен 2007, 12:43
				 Den
				2 Bulat-bash
Скажешь потом работает ли все это...  

 
			 
			
					
				
				Добавлено: 11 сен 2007, 12:52
				 Bulat-bash
				Работает!!!
Только не совсем понятно по поводу последнего параметра(Что ни ставлю - разницы не видно) 
 
Но это лучше чем ничего! 
