Объектный фейс L_Sklad::Makeorder

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

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

timaskraft
Сообщения: 17
Зарегистрирован: 21 май 2008, 11:03
Откуда: Витебск

Объектный фейс L_Sklad::Makeorder

Сообщение timaskraft »

Возникла необходимость создавать ордера, хочу использовать объектный фейс MakeOrder

В Galdoc нашел описание объектных функций, но некоторые параметры функций остаются загадкой :x .
может кто поделится исходничком, или знает их значения?

нужно пояснение параметров - выделенных бордовым цветом
Формирование приходного ордера
Function MakePrihOrder (pKatSopr : Comp; showMess : Boolean; var firstRozn : Boolean; var prRozn : Boolean; wSkPr : Word; wMode : Word; wParam : Word) : Boolean;

pKatSopr : nrec Katsopr
showMess : выводить ли сообщения
firstRozn : ????? (подозреваю для розницы)
prRozn : ????? ---/-----

wSkPr : Склад/ производство (0/1)
wMode : ?????
wParam : ????

и тоже самое непонятно по формированию расходного ордера
Function MakeRashOrder (pKatSopr : Comp; dForm : Date; Counts : Integer; doDoocen : Boolean; nDescr : Boolean; frmHandle : LongInt; var wMsgForm : Word; wSkPr : Word; wMode : Word; wParam : Word) : Boolean;
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5184
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Объектный фейс L_Sklad::Makeorder

Сообщение edward_K »

вот это может поможет
oMakeOrder.MakeRashOrd(katsopr.nrec,false,katsopr.dsopr,0,0,0,errF.handle)
errf - это форма
Form errF ('errPeres.out', 'errr') with novisual;
wMsgForm - видимо возвращает признак ошибки.
timaskraft
Сообщения: 17
Зарегистрирован: 21 май 2008, 11:03
Откуда: Витебск

Re: Объектный фейс L_Sklad::Makeorder

Сообщение timaskraft »

edward_K писал(а):вот это может поможет
oMakeOrder.MakeRashOrd(katsopr.nrec,false,katsopr.dsopr,0,0,0,errF.handle)
errf - это форма
Form errF ('errPeres.out', 'errr') with novisual;
wMsgForm - видимо возвращает признак ошибки.
Попробую, спасибо.
p.s. решили проблему другим способом - написали алгоритм, который создает ордера на Java скрипте, и вызываем его через Runinterface.
n0where
Местный житель
Сообщения: 499
Зарегистрирован: 30 дек 2010, 08:16

Re: Объектный фейс L_Sklad::Makeorder

Сообщение n0where »

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

Function MakeRashOrd (pKatSopr: comp; NeedMsg: boolean; pDateOrd: date; wSkPr, wMode, wParam: word; frmProt: longint): Boolean;
pKatSopr - nRec KATSOPR
NeedMsg - true - выводит message иначе через errrash
pDateOrd - дата ордера
wSkPr
Устанавливается в SklOrder.SP // для склада 0, для производства 1
wMode
Пакетный режим 1, обычный - 0
wParam
1бит аналог #define smetakoladd
2бит аналог #define _USE_SERIAL_
3бит аналог #define g_l_pr_vpp
4бит аналог #define _BoxNeedAuto
5бит аналог #define _prihod_
6бит аналог #define __PAKET_VIP__
frmProt
можно 0
Последний раз редактировалось n0where 03 июн 2011, 10:31, всего редактировалось 2 раза.
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
n0where
Местный житель
Сообщения: 499
Зарегистрирован: 30 дек 2010, 08:16

Re: Объектный фейс L_Sklad::Makeorder

Сообщение n0where »

edward_K писал(а):wMsgForm - видимо возвращает признак ошибки.
1 бит = 1 - выводить все масаги в форму
2 бит возвращаяет 1, если были ошибки, но не критичные.
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
Dmitry_Sol
Постоянный гость
Сообщения: 76
Зарегистрирован: 07 июн 2007, 12:32
Откуда: Витебск
Контактная информация:

Re: Объектный фейс L_Sklad::Makeorder

Сообщение Dmitry_Sol »

По поводу makeprihorder. Там для получения даты оприходования существует event функция omakeorder.canMakeOrder

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

function canmakeorder:date;
 {
  canmakeorder:=katsopr.dsopr;
 }
......

 BindEvent(CanMakeOrder, oMakeOrder.CanMakeOrder);
 oMakeOrder.MakePrihOrder (nrecKatSopr,false,false,false,0,1,32);
 UnBindEvent(CanMakeOrder, oMakeOrder.CanMakeOrder);

Таким образом мы избавляемся от запроса даты оприходования
Чтобы избавиться от запроса склада, необходимо заполнить таблицу soprordb
Руслан
Местный житель
Сообщения: 294
Зарегистрирован: 01 ноя 2011, 14:03
Контактная информация:

Re: Объектный фейс L_Sklad::Makeorder

Сообщение Руслан »

Можно ли функцией MakePrihOrder оприходовать накладную на приход ГП в модуле "Управление производственной логистикой". Какие тогда параметры указывать? Пытаюсь таким образом:

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

...
 Function CanMakeOrder : date;
{
CanMakeOrder:=dat_per2;
}
...
BindEvent(CanMakeOrder,Obj.CanMakeOrder);
Obj.MakePrihOrder(vKatsoprCreate.katsopr.nrec,false,true,true,0,1,32+128);
UnBindEvent(CanMakeOrder, Obj.CanMakeOrder);  
...
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Объектный фейс L_Sklad::Makeorder

Сообщение Den »

Насколько помню там CalcOrd.vih можно заюзать
Делал так когда то
1. CalcOrd.Initialization()
2. Вставляешь в InputKatSopr запись , указывая в cSopr нужный katsopr.nrec
2. Дергаешь CalcOrd.RunInter()

Но в свое время была "фишка", что перед этим всем нужно было проверить наличие на складе отдельно нужных разрезов.
А то в минус могло просто списать и все (т.е. RunInter() не контролировал никак наличие)
Руслан
Местный житель
Сообщения: 294
Зарегистрирован: 01 ноя 2011, 14:03
Контактная информация:

Re: Объектный фейс L_Sklad::Makeorder

Сообщение Руслан »

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

Re: Объектный фейс L_Sklad::Makeorder

Сообщение Den »

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

#include CalcOrd.vih
...
var soCalcOrd: oCalcOrd;
...
if (NullVIPRef(soCalcOrd))
   LoadVIPRef(soCalcOrd,'M_UP::CalcOrd');
soCalcOrd.Initialization();
mtClear(#InputKatSopr,fmNormal);
ClearBuffer(#InputKatSopr);
InputKatSopr.cSopr := KatSopr.nrec;
insert current InputKatSopr;
soCalcOrd.RunInter();
как то так делал, насколько помню
По контролю наличия может погорячился я. Но помоему у заказчика сырье как то контролировалось при списании . Деталей не помню. Уж лет 5 прошло
Руслан
Местный житель
Сообщения: 294
Зарегистрирован: 01 ноя 2011, 14:03
Контактная информация:

Re: Объектный фейс L_Sklad::Makeorder

Сообщение Руслан »

Ругается на таблицу
Ошибка: Нет такой функции, поля или метода : #INPUTKATSOPR D:\Viper\SRC\MakePrihodGpOrder.vip(стр. 83, поз. 22)
Пробовал добавлять в интерфейс, та же ошибка.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5184
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Объектный фейс L_Sklad::Makeorder

Сообщение edward_K »

Это какая то времянка. Подправьте под себя
Руслан
Местный житель
Сообщения: 294
Зарегистрирован: 01 ноя 2011, 14:03
Контактная информация:

Re: Объектный фейс L_Sklad::Makeorder

Сообщение Руслан »

Да. Это table struct и она в CalcOrd.vih описана. Подскажите, пожалуйста, каким образом подправить?
Руслан
Местный житель
Сообщения: 294
Зарегистрирован: 01 ноя 2011, 14:03
Контактная информация:

Re: Объектный фейс L_Sklad::Makeorder

Сообщение Руслан »

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

Re: Объектный фейс L_Sklad::Makeorder

Сообщение Den »

Руслан писал(а):Ругается на таблицу
Ошибка: Нет такой функции, поля или метода : #INPUTKATSOPR D:\Viper\SRC\MakePrihodGpOrder.vip(стр. 83, поз. 22)
Пробовал добавлять в интерфейс, та же ошибка.
Во вью нужно добавить InputKatSopr и все должно собраться без ошибок будет.
Ответить