Здравствуйте!
Надо чтобы Initlist отображал на экране не все записи из файла , а лишь те которые удовлетворяют некоторому условию. По описанию больше всего подходит aBlockCols ( других подходящих параметровя не нашел) :
Файл содержит три поля.Вот я задаю
aBlockCols:={{{||FIELD->code},0},{{||FIELD->period},7},{{||FIELD->date},16}}
Надо чтобы отображались на экране записи ,например, FIELD->code=="000002".
Писать его надо перед вызовом initlist. Или навешивать установку фильтра на setkey(), если его надо устанавливать/отменять оперативно, в процессе работы.
Теперь отображает записи с учетом фильтра.
Но после попытки удаления записи вываливается ошибка "Переменная не существует".
Если закомментировать строку
У Вас переменная _codePartn объявлена как local
В исходной функции она видна, поэтому фильтр устанавливается
А в функции initlist ваша локальная переменная уже недоступна и выражение фильтра рассчитано быть не может.
Выхода два - либо создать выражение фильтра как блок из строки с готовым значением _codePartn
Либо объявить _codePartn как private
Алексей Новиков пишет:
У Вас переменная _codePartn объявлена как local
Да объявил как Private и проблема ушла. ( Вы когда-то мне на подобную проблему отвечали,но я не подумал и опять на те же грабли наступил.Извините). Спасибо.
Еще непонятно : 11 параметр nUniMode по какому ключу (индексу) определяет уникальность.
Т.е в каком параметре надо задать ключ (индекс) по которому nUniMode будет определяеть уникальность?
aSortSeek:={;
{"- по коду/периоду",{"Код ","Период"}, {'CODE','PERIOD'},'UPPER(aIn[1]+aIn[2])',,,,'TAG_CODE'};
}
Если в MAKEREFER() задавать такой параметр ,то в подвале окна появлялась подсказка
по горячим клавишам F3 , F7 и сортировка и поиск работали.
В этом же плагине в подвале окна никаких подсказок не появилось ,но поиск по F7 заработал, а
вот сортировка не появилась ( нажатие на F3 вообще ни к каким последствиям не приводит).
В материалах форума для задания "горячих клавиш" нашел такой код для 30-го параметра:aHotKey:={;
Но отображение подсказок при этом идет только при нажатии клавиши CTRL.
А что нужно сделать чтобы,например,в подвале экрана отражались : F3- сортировка
F7-поиск?
Единственное ,что пришло в голову - это вывести в подвал экрана эти подсказки с помощью SAYSCREEN().
К тому же в этом примере к клавишам привязываются только свои функции.
F3 и F7 назначаются автоматически в initlist()
Возможно, что из-за того что у Вас всего один вариант сортировки/поиска. initlist() не выводит диалог выбора варианта.
А если тэг, указанные в aSortSekk совпадает с тэгом, установленным перед вызовом Initlist(), то ничего не происходит и Вам кажется что сортировка не работает.
aHotKey содержит три подмассива, для Ctrl, Alt и Shift соответственно (за порядок следования не ручаюсь). В примере заполнен только первый подмассив. для Ctrl
Вам следует разнести свои горячие клавиши по подмассивам в зависимости от используемого модификатора.