Написал небольшой интерфейс для установки соответствий в аналитике:
create view as select *
from CORTABLE, SYNONYM SPKAU SPKAUL, SYNONYM SPKAU SPKAUR
where ((
1 == CORTABLE.WACCORD
and CORTABLE.LREF == SPKAUL.NREC
and CORTABLE.RREF == SPKAUR.NREC
));
browse brCor 'Платежи' (,,sci178Esc);
table CORTABLE;
fields
SPKAUL.CODE 'Код' :[15],protect,pickbutton;
SPKAUL.NAME 'Наименование' :[40],protect,pickbutton;
SPKAUR.CODE 'Код' :[15],protect,pickbutton;
SPKAUR.NAME 'Наименование' :[40],protect,pickbutton;
end;
далее в обработке событий пишу:
cmInsert:
{
insert CORTABLE set
CORTABLE.WACCORD:= 1,
CORTABLE.LREF := comp(0),
CORTABLE.RREF := comp(0);
ReScanPanel(#CORTABLE);
}
Почему-то при добавлении новой записи появляется пустая строка, но курсор устанавливается на вторую пустую строку, которая не добавляется в таблицу, а просто отображается на экране.
Т.е. нажимаю F7 - визуально добавляется 2 новые строки, а должна быть только одна. Где ошибка?
Почему добавляются 2 записи
Модераторы: m0p3e, edward_K, Модераторы
Ты же добавляешь запись в основную таблицу панели.
Делай так:
cmInsert не используй
и безо всяких rescanpanel
Делай так:
Код: Выделить всё
cmSetDafault:
{
// значения полей
CORTABLE.WACCORD:= 1;
}
cmUpdateRecord:
{
if (update current cortable <> 0) {}
}
и безо всяких rescanpanel