Объектный фейс L_Sklad::Makeorder
Модераторы: m0p3e, edward_K, Модераторы
-
- Сообщения: 17
- Зарегистрирован: 21 май 2008, 11:03
- Откуда: Витебск
Объектный фейс L_Sklad::Makeorder
Возникла необходимость создавать ордера, хочу использовать объектный фейс MakeOrder
В Galdoc нашел описание объектных функций, но некоторые параметры функций остаются загадкой .
может кто поделится исходничком, или знает их значения?
нужно пояснение параметров - выделенных бордовым цветом
Формирование приходного ордера
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;
В Galdoc нашел описание объектных функций, но некоторые параметры функций остаются загадкой .
может кто поделится исходничком, или знает их значения?
нужно пояснение параметров - выделенных бордовым цветом
Формирование приходного ордера
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;
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Объектный фейс L_Sklad::Makeorder
вот это может поможет
oMakeOrder.MakeRashOrd(katsopr.nrec,false,katsopr.dsopr,0,0,0,errF.handle)
errf - это форма
Form errF ('errPeres.out', 'errr') with novisual;
wMsgForm - видимо возвращает признак ошибки.
oMakeOrder.MakeRashOrd(katsopr.nrec,false,katsopr.dsopr,0,0,0,errF.handle)
errf - это форма
Form errF ('errPeres.out', 'errr') with novisual;
wMsgForm - видимо возвращает признак ошибки.
-
- Сообщения: 17
- Зарегистрирован: 21 май 2008, 11:03
- Откуда: Витебск
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 - видимо возвращает признак ошибки.
p.s. решили проблему другим способом - написали алгоритм, который создает ордера на Java скрипте, и вызываем его через Runinterface.
Re: Объектный фейс L_Sklad::Makeorder
Код: Выделить всё
Function MakeRashOrd (pKatSopr: comp; NeedMsg: boolean; pDateOrd: date; wSkPr, wMode, wParam: word; frmProt: longint): Boolean;
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 раза.
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
Re: Объектный фейс L_Sklad::Makeorder
1 бит = 1 - выводить все масаги в формуedward_K писал(а):wMsgForm - видимо возвращает признак ошибки.
2 бит возвращаяет 1, если были ошибки, но не критичные.
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
-
- Постоянный гость
- Сообщения: 76
- Зарегистрирован: 07 июн 2007, 12:32
- Откуда: Витебск
- Контактная информация:
Re: Объектный фейс L_Sklad::Makeorder
По поводу makeprihorder. Там для получения даты оприходования существует event функция omakeorder.canMakeOrder
Таким образом мы избавляемся от запроса даты оприходования
Чтобы избавиться от запроса склада, необходимо заполнить таблицу soprordb
Код: Выделить всё
function canmakeorder:date;
{
canmakeorder:=katsopr.dsopr;
}
......
BindEvent(CanMakeOrder, oMakeOrder.CanMakeOrder);
oMakeOrder.MakePrihOrder (nrecKatSopr,false,false,false,0,1,32);
UnBindEvent(CanMakeOrder, oMakeOrder.CanMakeOrder);
Чтобы избавиться от запроса склада, необходимо заполнить таблицу soprordb
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);
...
-
- Местный житель
- Сообщения: 1844
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Re: Объектный фейс L_Sklad::Makeorder
Насколько помню там CalcOrd.vih можно заюзать
Делал так когда то
1. CalcOrd.Initialization()
2. Вставляешь в InputKatSopr запись , указывая в cSopr нужный katsopr.nrec
2. Дергаешь CalcOrd.RunInter()
Но в свое время была "фишка", что перед этим всем нужно было проверить наличие на складе отдельно нужных разрезов.
А то в минус могло просто списать и все (т.е. RunInter() не контролировал никак наличие)
Делал так когда то
1. CalcOrd.Initialization()
2. Вставляешь в InputKatSopr запись , указывая в cSopr нужный katsopr.nrec
2. Дергаешь CalcOrd.RunInter()
Но в свое время была "фишка", что перед этим всем нужно было проверить наличие на складе отдельно нужных разрезов.
А то в минус могло просто списать и все (т.е. RunInter() не контролировал никак наличие)
Re: Объектный фейс L_Sklad::Makeorder
Это ведь накладная на приход, а не списание, в минус никак не уйти. Если можно пример вызова, пожалуйста.
-
- Местный житель
- Сообщения: 1844
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Re: Объектный фейс L_Sklad::Makeorder
Код: Выделить всё
#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 прошло
Re: Объектный фейс L_Sklad::Makeorder
Ругается на таблицу
Пробовал добавлять в интерфейс, та же ошибка.Ошибка: Нет такой функции, поля или метода : #INPUTKATSOPR D:\Viper\SRC\MakePrihodGpOrder.vip(стр. 83, поз. 22)
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Объектный фейс L_Sklad::Makeorder
Это какая то времянка. Подправьте под себя
Re: Объектный фейс L_Sklad::Makeorder
Да. Это table struct и она в CalcOrd.vih описана. Подскажите, пожалуйста, каким образом подправить?
Re: Объектный фейс L_Sklad::Makeorder
Заметил ещё такую особенность, что по накладной, которую оприходовал и потом отменил ордера, по ней MakePrihOrder отрабатывает. Т.е. функция отрабатывает. Видимо какие-то поля не заполняю при создании накладной.
-
- Местный житель
- Сообщения: 1844
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Re: Объектный фейс L_Sklad::Makeorder
Во вью нужно добавить InputKatSopr и все должно собраться без ошибок будет.Руслан писал(а):Ругается на таблицуПробовал добавлять в интерфейс, та же ошибка.Ошибка: Нет такой функции, поля или метода : #INPUTKATSOPR D:\Viper\SRC\MakePrihodGpOrder.vip(стр. 83, поз. 22)