Страница 1 из 2
маркеры
Добавлено: 24 апр 2013, 15:00
novichok
Подскажите, почему не работает маркер?
CmInit:
{
Markers := InitMarker('', 2, 20, 20);
}
cmDone:
{
DoneMarker(Markers, '');
}
cmDoMarkUnMark:
{
InvertMarker(Markers, katbank.nrec);
if ((GetNext katbank) = tsOk) {};
RescanPanel(tnkatbank); message(SearchMarker(Markers, katbank.nrec, IndexNo));
}
message пишет false
Re: маркеры
Добавлено: 24 апр 2013, 15:43
Kolsey Zhenya
Попробуйте cmMarkUnMark
Re: маркеры
Добавлено: 24 апр 2013, 16:07
novichok
Kolsey Zhenya писал(а):Попробуйте cmMarkUnMark
Не помогает
Re: маркеры
Добавлено: 24 апр 2013, 16:11
m0p3e
И будет false, т.к. в момент проверки мы уже находимся на следующей записи. GetNext он такой.
Re: маркеры
Добавлено: 24 апр 2013, 16:15
novichok
message(GetMarkerCount(Markers)) пишет 0 и пометки не ставятся
Re: маркеры
Добавлено: 24 апр 2013, 17:45
m0p3e
Тогда можно весь код увидеть?
Re: маркеры
Добавлено: 24 апр 2013, 19:03
Kolsey Zhenya
какая StatusLine используется? должна быть связка, для вашего случая, Insert c соответствующим событием cmMarkUnMark.
Re: маркеры
Добавлено: 24 апр 2013, 19:39
m0p3e
Kolsey Zhenya писал(а):какая StatusLine используется? должна быть связка, для вашего случая, Insert c соответствующим событием cmMarkUnMark.
Если мессадж появляется то статус правильный.
Хочется увидеть весь текст.
Re: маркеры
Добавлено: 25 апр 2013, 07:47
LaaLaa
novichok писал(а):Подскажите, почему не работает маркер?
Markers := InitMarker('', 2, 20, 20);
InvertMarker(Markers, katbank.nrec);
RescanPanel(tnkatbank); message(SearchMarker(Markers, katbank.nrec, IndexNo));
Напишите
InitMarker('', 8, 20, 20);
Для nrec-а нужно 8 байт, а не 2
Re: маркеры
Добавлено: 25 апр 2013, 09:20
novichok
Весь невезучий код:
Код: Выделить всё
const
sci134EnIns = 6922;
cmDoMarkUnMark = 1221;
end;
Interface Programma_2 'Отчёт по платёжным документам' (, , sci134EnIns) doaccept, EscClose;
show at (, ,90, 70);
create view
var
Markers : longInt;
IndexNo : longInt;
(isPicked)
as select if (SearchMarker(Markers, schet1, IndexNo) = True, 'v', '-'), *
from katbank where corg=3h;
var
k_osh:integer;
n: integer;
i: LongInt;
sum_sum,sum_nds:double;
dogovor: string;
d_n,d_k: date;
stmt,query: longInt;
kol1,kol3,kol4: string;
kol5,kol6: double;
kol2: date;
screen ekr1 (, , sci1EnEsc);
show at (, ,89, 20);
Fields
d_n : ['DD.MM.YYYY'], noProtect;
d_k : ['DD.MM.YYYY'], noProtect;
buttons
cmOK, default;
cmCancel;
<<
Период с .@@@@@@@@@@ по .@@@@@@@@@@
<. ~С~формировать .>
<. ~З~акрыть .>
>>
end;
panel panel_schet;
show at (, 21, 89, 69);
browse b_schet;
table katbank;
fields
{font={color=if(IsPicked='-', 0, 13)}};
isPicked '' :[1], Skip;
name 'Банк' :[65], protect, NoDel;
schet1 'Счёт' :[30], protect, NoDel;
end;
end;
HandleEvent
CmInit:
{
Markers := InitMarker('', 8, 20, 20);
message('маркер №'+Markers);
}
cmDone:
{
DoneMarker(Markers, '');
}
cmDoMarkUnMark:
{
InvertMarker(Markers, katbank.schet1); message(GetMarkerCount(Markers));
if ((GetNext katbank) = tsOk) {};
RescanPanel(tnkatbank);
}
Re: маркеры
Добавлено: 25 апр 2013, 11:20
m0p3e
1. При использовании констант не ленимся и подключаем соответствующие inc-и.
2. Панели убираем нафинг. Не нужны они.
Вот так работает:
Код: Выделить всё
Interface Programma_2 'Отчёт по платёжным документам' (, , sci134EnIns) doaccept, EscClose;
show at (, ,90, 70);
create view
var
Markers : longInt;
IndexNo : longInt;
(isPicked)
as select if (SearchMarker(Markers, schet1, IndexNo) = True, 'v', '-'), *
from katbank where corg=3h;
var
k_osh:integer;
n: integer;
i: LongInt;
sum_sum,sum_nds:double;
dogovor: string;
d_n,d_k: date;
stmt,query: longInt;
kol1,kol3,kol4: string;
kol5,kol6: double;
kol2: date;
screen ekr1 (, , sci1EnEsc);
show at (, ,89, 20);
Fields
d_n : ['DD.MM.YYYY'], noProtect;
d_k : ['DD.MM.YYYY'], noProtect;
buttons
cmOK, default;
cmCancel;
<<
Период с .@@@@@@@@@@ по .@@@@@@@@@@
<. ~С~формировать .>
<. ~З~акрыть .>
>>
end;
browse b_schet;
Show At (,21,,);
table katbank;
fields
{font={color=if(IsPicked='-', 0, 13)}};
isPicked '' :[1], Skip;
name 'Банк' :[65], protect, NoDel;
schet1 'Счёт' :[30], protect, NoDel;
end;
HandleEvent
CmInit:
{
Markers := InitMarker('', 8, 20, 20);
message('маркер №'+Markers);
}
cmDone:
{
DoneMarker(Markers, '');
}
cmDoMarkUnMark:
{
InvertMarker(Markers, katbank.nrec);
message(GetMarkerCount(Markers));
if ((GetNext katbank) = tsOk) {};
RescanPanel(tnkatbank);
}
End;
End.
Re: маркеры
Добавлено: 25 апр 2013, 12:25
novichok
так при компиляции пишет -
ошибка при открытии include файла GALNET.INC
Re: маркеры
Добавлено: 25 апр 2013, 13:24
m0p3e
Путь нужно указать к актуальному galnet.inc
Код: Выделить всё
[Compilers]
IncludesPath=%GAL810FRM%\INC
IncludesPath=%GAL810FRM%\INC\ADM
IncludesPath=%GAL810FRM%\INC\ASUP
Re: маркеры
Добавлено: 30 апр 2013, 09:35
novichok
galnet.inc нет нигде, ни на моём компе, ни на сервере
подскажите, где он должен быть?
Re: маркеры
Добавлено: 30 апр 2013, 10:11
Den
.\GAL810\FRM\GalNet.rar