Страница 1 из 1
функция добавления строки в спецификацию
Добавлено: 16 окт 2017, 15:40
Espada
Доброго дня, столкнулся с таким вопросом: необходимо импортировать данные из файла в спецификацию счета. раньше сталкивался с подобным, но там нужно было создать новую таблицу, там использовал:
теперь же мне нужно записать в уже существующую. подскажите плиз есть ли способ записать? Спасибо
Re: функция добавления строки в спецификацию
Добавлено: 16 окт 2017, 16:16
RAJAH
INSERT - вставка новой записи; UPDATE - редактирование существующей.
Re: функция добавления строки в спецификацию
Добавлено: 16 окт 2017, 16:18
Espada
RAJAH писал(а):INSERT - вставка новой записи; UPDATE - редактирование существующей.
спасибо
Re: функция добавления строки в спецификацию
Добавлено: 16 окт 2017, 17:59
Espada
RAJAH писал(а):INSERT - вставка новой записи; UPDATE - редактирование существующей.
по идее insert должен создавать новую запись в таблице spstep. а у меня ругается, мол дублируется запись spstep.nrec. не подскажете в чем может быть проблема?
Ошибка N 5/ Дублированное значение при уникальном ключе. В таблице Spstep повторяется значение поле NREC
Re: функция добавления строки в спецификацию
Добавлено: 16 окт 2017, 18:07
m0p3e
Если в буфере уже существующая запись, то nrec необходимо принудительно занулить. Тогда он при вставке будет сгенерирован.
Re: функция добавления строки в спецификацию
Добавлено: 16 окт 2017, 18:14
Espada
m0p3e писал(а):Если в буфере уже существующая запись, то nrec необходимо принудительно занулить. Тогда он при вставке будет сгенерирован.
Код: Выделить всё
if(NewSpstep.getfirst spstep = tsOk and NewSpstep.getfirst stepdoc = tsOk)
{
if(NewSpstep.Spstep.Nrec <> 0)
{
Message(NewSpstep.Spstep.nrec)
NewSpstep.clearbuffer(NewSpstep.tNspstep);
NewSpstep.Spstep.NPP := i;
NewSpstep.SPSTEP.CMCUSL := Bnrec;
NewSpstep.SPSTEP.COTPED := Enrec;
NewSpstep.SPSTEP.KOL := _Kol;
NewSpstep.SPSTEP.KOLSKL := _Kol;
NewSpstep.Spstep.CSTEPDOC := NewSpstep.stepdoc.nrec;
NewSpstep.insert current spstep;
i := i + 1;
};
};
как я понял строчка clearebuffer отвечает за чистку?
Re: функция добавления строки в спецификацию
Добавлено: 16 окт 2017, 18:42
m0p3e
Все верно.