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

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

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

Alexander
Местный житель
Сообщения: 248
Зарегистрирован: 28 ноя 2006, 13:29

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

Сообщение Alexander »

В складском ордере меняю программно сумму, как пересчетать сальдовые, чтобы не было расхождения?
san
Местный житель
Сообщения: 412
Зарегистрирован: 28 апр 2005, 11:34
Откуда: Галактика Млечный Путь

Сообщение san »

по моему без инклудов исходников не обойтись
Alexander
Местный житель
Сообщения: 248
Зарегистрирован: 28 ноя 2006, 13:29

Сообщение Alexander »

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

Сообщение Den »

Ну почему ж прям никак...
Ну самому если только переписать функции работы с сальдовыми остатками... :grin:
Alexander
Местный житель
Сообщения: 248
Зарегистрирован: 28 ноя 2006, 13:29

Сообщение Alexander »

Ну самому если только переписать функции работы с сальдовыми остатками...
Это слишком :-)

ну а что заинклудить нужно? и как попробовать поюзить???
Панин
Сообщения: 5
Зарегистрирован: 04 апр 2007, 19:39

Сообщение Панин »

Есть объектные функции вставки в sporder
Если через них бадаться, то остатки сами меняться будут. 8-)
Панин
Сообщения: 5
Зарегистрирован: 04 апр 2007, 19:39

Сообщение Панин »

Public функции триггеров для модификации записей SpOrder
были реализованы 12.05.2006 (по моей скромной просьбе)

Как использовать:

В исходном тексте разрабатываемого интерфейса:
- в самом начале (перед описанием интерфейса) добавить строку:
#include ModifOrd.vih
(данный файл ищите в исходниках или слёзно просите у меня)

- объявить переменные с типами ModifOrds и TypeSpOrder (в любом подходящем месте, но лучше в начале интерфейса), например:
var MO: ModifOrds;
var spOr: TypeSpOrder;

Вместо insert current SpOrder, update current SpOrder, delete current SpOrder использовать следующие конструкции:

вместо insert:
spOr:= TypeSpOrder(SpOrder.buffer); // передача записи SpOrder для операции
MO.AnySpOrder_insert(spOr); // операция добавления записи SpOrder
SpOrder.buffer:= type$SpOrder(spOr); // возвращение полей записи SpOrder после операции

вместо update:
spOr:= TypeSpOrder(SpOrder.buffer); // передача записи SpOrder для операции
MO.AnySpOrder_update(spOr); // операция модификации записи SpOrder
SpOrder.buffer:= type$SpOrder(spOr); // возвращение полей записи SpOrder после операции

вместо delete:
spOr:= TypeSpOrder(SpOrder.buffer); // передача записи SpOrder для операции
MO.AnySpOrder_delete(spOr); // операция удаления записи SpOrder
Alexander
Местный житель
Сообщения: 248
Зарегистрирован: 28 ноя 2006, 13:29

Сообщение Alexander »

а для какой версии?
е меня нет ModifOrd.vih
Alexander
Местный житель
Сообщения: 248
Зарегистрирован: 28 ноя 2006, 13:29

Сообщение Alexander »

Поделитель файликом ModifOrd.vih, плиззз!!
или подскажите как по-другому ручками запустить пересчет сальдовых! HELP!!
Панин
Сообщения: 5
Зарегистрирован: 04 апр 2007, 19:39

Сообщение Панин »

Текст ModifOrd.vih

#ifdef ComponentVersion
#component "L_Sklad"
#end

type TypeSpOrder = record as table SpOrder;

ObjInterface ModifOrdsObj;
function AnySpOrder_insert(var spOrd_: TypeSpOrder): word; // tsOk - если всё ок
function AnySpOrder_update(var spOrd_: TypeSpOrder): word; // tsOk - если всё ок
function AnySpOrder_Delete(spOrd_ : TypeSpOrder): word; // tsOk - если всё ок
end;


VipInterface ModifOrds implements ModifOrdsObj

#ifdef ATL51
licensed (FREE)
//Parameters (SPTypeSopr: word; pNRec: comp)
#end
;
Bulat-bash
Постоянный гость
Сообщения: 52
Зарегистрирован: 28 июн 2006, 08:45
Откуда: Уфа

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

Гал-ка 7,12

Пытаюсь воспользоваться ModifOrd

#include ModifOrd.vih
interface updateord;
create view
var sp_nrec:comp;
MO : ModifOrds;
spOr : TypeSpOrder;
k :double;
as select * from sporder
where (( sp_nrec==sporder.nrec )) ;
parameters sp_nrec,k;
handleevent
cminit:
{
_loop sporder
{
sporder.srprice:=k

!update current sporder

spOr:= TypeSpOrder(SpOrder.buffer);
MO.AnySpOrder_update(spOr); //
SpOrder.buffer:= type$SpOrder(spOr);
}
...............................
Компилится без проблем, а при запуке данного фейса из Гал-ки - ругается:
Возникло необработанное исключение ExObjIfcNoload (ExVip) объект не найден в ресурсном файле(MODIFORDS).

Кто-нибудь знает как работает эта штука?(Вернее почему она не работает у меня :? )
Заранее спасибо!
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

в том что в 712 фейса MODIFORDS не существует, ровно как и тригеров.
Bulat-bash
Постоянный гость
Сообщения: 52
Зарегистрирован: 28 июн 2006, 08:45
Откуда: Уфа

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

Люди добрые! Все-таки может кто знает, как бы пересчитать сальдовые после изменения ордера, чтобы не было расхождения на 7,12?
PViP
Местный житель
Сообщения: 254
Зарегистрирован: 08 июн 2007, 08:26
Откуда: Красноярск
Контактная информация:

Сообщение PViP »

Bulat-bash посмотри здесь
http://www.tyumbit.ru/gal_forum/viewtopic.php?t=8510
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Сообщение Den »

Автору топика нужно все же немного другое - пересчет сальдовых остатков. А в том линке функции получения наличия/средней цены.
Ответить