Re: Обновление данных в browse
Добавлено: 29 дек 2014, 15:02
если меняю запрос - то пишет, что нужен ключ cmatpropusk для таблицы spmatpropusk
Обсуждение различных вопросов, связанных с сопровождением, администрированием и программированием
https://ns1.tyumbit.ru/
Код: Выделить всё
cmInsertRecord:{
Case (CurTable) Of
#matpropusk:{
ResetTableSpec();
insert current matpropusk;
_loop Pick Where ((22==Pick.wList))
{
If GetFirst KatSopr Where ((Pick.cRec==KatSopr.nrec)) = tsOk
{
spmatpropusk.npp:= GetSpPropuskNppNext(matpropusk.nrec);
spmatpropusk.ckatsopr:=pick.crec;
spmatpropusk.cmatpropusk:=matpropusk.nrec;
insert current spmatpropusk;
ClearBuffer (#spmatpropusk);
delete all pick;
};
};
rescanpanel(#spmatpropusk);
}
end;
}
Код: Выделить всё
Cminit: {
delete all pick;
};
Код: Выделить всё
Назначение
Очищает буфер записей для таблицы iTable с записью в буфер текущих ограничений на таблицу.
Описание
procedure ClearBuffer(iTable: integer);
Параметры
iTable: integer - номер таблицы.
Должно быть так и никак иначе:Marisha_P писал(а):я именно так и думала, но если ставлю его до вставки, то вылетает ошибка при компиляции : нет такой функции, поля или метода
Код: Выделить всё
ClearBuffer (#spmatpropusk); //или ClearBuffer (tnspmatpropusk);
spmatpropusk.npp:= GetSpPropuskNppNext(matpropusk.nrec);
spmatpropusk.ckatsopr:=pick.crec;
spmatpropusk.cmatpropusk:=matpropusk.nrec;
insert current spmatpropusk;
Код: Выделить всё
cmDefault:{
matpropusk.ctranspr:=transp.nrec;
matpropusk.CMARPUNKTPR:=marpunkt.nrec;
matpropusk.CMARPUNKTPR1:=marpunkt1.nrec;
if (matpropusk.ctidkpr=201 or matpropusk.ctidkpr=521 or matpropusk.ctidkpr=600 or matpropusk.ctidkpr=602)
then matpropusk.CEXPEDITORDOVPR:=dovfio.nrec
else matpropusk.CEXPEDITORVODPR:=kndriver.nrec;
update current matpropusk;
rereadrecord(#matpropusk);
}
Код: Выделить всё
cmChangeTabbedSheetFormat:{
ResetTableSpec();
rereadrecord(#matpropusk);
}
Код: Выделить всё
в дочке
Notify(cmTableChanged, word(26009)); // укажите номер вашей таблы или неиспользуемый
в родителе
cmTableChanged:
{ if (word(GetNotificationInfoPtr) = 26009)
{ ReReadRecord(#table)
}
}
Код: Выделить всё
в родителе
procedure OnDataChanged;
{ ReReadRecord(#table)
} // procedure OnDataChanged
в cmInit
BindEvent(OnDataChanged, DCN.OnDataChanged);
в vih дочки
event procedure OnDataChanged;
в записи данных
OnDataChanged;