Страница 1 из 1
Как программно изменить количество в производственном плане?
Добавлено: 07 дек 2007, 14:23
Alexander
создаю новый план, спецификацию - все нормально!
пытаюсь установить цены и количество - никак не получается

как установить??? Может ф-ция какая-нибудь есть?
Добавлено: 07 дек 2007, 16:41
edward_K
журнализация рулит. Там еще пара табл участвует. Опять же - как создаете?
Добавлено: 10 дек 2007, 08:39
Alexander
обычным инсертом. да, вроде тоже самое делаю, что в журнале пишется, не получается

Добавлено: 10 дек 2007, 09:05
Алексей
Alexander
после изменения программной, зайдите в галактику и подправьте что нибудь.
Затем по журналу посмотрите - что изменится. Так можно вычислить - что забыли.
Добавлено: 10 дек 2007, 14:27
Alexander
что-то ничего не понимаю.... добился того, что все записи уже идентичные, но! В 1-ю позицию заказа кол-во проставляется а в остальные - дулю. когда меняю значение в самой галактике, она добляет записи в spmnpl и valspmnp, причем идентичные уже имеющимся. разница в том, что я делаю одним запросом, а галактика сначала вставляет почти пустую строчку в valspmnp и несколькими апдейтами доводит до "кондиции". С чем может быть связано? целый день уже парюсь... и непонятно, почему с 1-й строчкой работает, а с остальными - трабла.
Добавлено: 10 дек 2007, 14:30
Alexander
мой код. Не судите строго, я его уже весь перекорежил, пытаясь заставить работать
Код: Выделить всё
delete all pick;
if ( RunInterface('GetSpMnPlan'
, cWorkMnPlan
, word(1)
, comp(0)
, word(1) // ValSpMnP.Kol
, dTmp
, word(0)
, word(0)
) = cmDefault ){
insert into MnPlanNew set nrec = comp(0),
enddate = mnplan.enddate,
startdate = mnplan.startdate,
typeplan = 17,
CWAYACCOU = 281474976710872,
statemdate = cur_date(),
DESCR = sGetTune('User.Descr'),
CVPLAN = 4612010795244082808,
cperplan = 281474976710755;
var num : word;
var nums : string;
num := 0;
_loop pick where((19893 == pick.wlist)){
num := num + 1;
nums := string(num);
insert into spmnplannew set spmnplannew.nrec = comp(0),
spmnplannew.cmnplan = MnPlanNew.nrec,
spmnplannew.number = (Padch('', '0', 5-length(num)) + nums),
spmnplannew.typeizd = spmnplan.typeizd,
spmnplannew.cIzd = spmnplan.cIzd,
spmnplannew.cotped = spmnplan.cotped;
insert into mnanal set nrec = comp(0),
csloj = 40010D17D55FB32Dh,
fldan1= MnPlanNew.nrec;
insert into spmnplnew set spmnplnew.nrec = comp(0),
spmnplnew.cspmnplan = spMnPlanNew.nrec,
spmnplnew.cmnplan = MnPlanNew.nrec,
spmnplnew.canval4 = MnPlanNew.nrec,
spmnplnew.TYPEIZD = spmnpl.TYPEIZD,
spmnplnew.number = (Padch('', '0', 5-length(num)) + nums),
spmnplnew.cIzd = spmnpl.cIzd,
spmnplnew.cmnanal = mnanal.nrec,
spmnplnew.crolean4 = 400112E4B8DC1CB1h,
spmnplnew.WKODGR4 = 7,
spmnplnew.WKOLAN = 23,
spmnplnew.cotped = spmnpl.cotped;
insert into propspmn set propspmn.nrec = comp(0),
propspmn.cSpMnPl = spmnplnew.nrec,
propspmn.fldnum = 5,
propspmn.resword[1] = 12;
insert into ValSpMnPnew set ValSpMnPnew.nrec = comp(0),
ValSpMnPnew.KOLFIELD1 = 0,
ValSpMnPnew.KOLFIELD2 = 0,
ValSpMnPnew.KOLFIELD3 = 0,
ValSpMnPnew.KOLFIELD4 = 0,
ValSpMnPnew.KOLFIELD5 = pick.pickkol,
ValSpMnPnew.KOLFIELD6 = 0,
ValSpMnPnew.KOLFIELD7 = 0,
ValSpMnPnew.KOLFIELD7 = 0,
ValSpMnPnew.TYPEFIELD[1] = 1,
ValSpMnPnew.TYPEFIELD[2] = 1,
ValSpMnPnew.TYPEFIELD[3] = 2,
ValSpMnPnew.TYPEFIELD[4] = 3,
ValSpMnPnew.TYPEFIELD[5] = 1,
ValSpMnPnew.TYPEFIELD[6] = 1,
ValSpMnPnew.TYPEFIELD[7] = 3,
ValSpMnPnew.TYPEFIELD[8] = 3,
ValSpMnPnew.num = 1,
ValSpMnPnew.cSpMnPl = spmnplnew.nrec,
ValSpMnPnew.KOLFIELD5 = pick.pickkol,
ValSpMnPnew.kol = pick.pickkol;
}
Добавлено: 11 дек 2007, 04:44
Алексей
Alexander
ищите лучше - где-то эти записи отличаются от тех, что вставили вы.