Страница 1 из 2
Множественный выбор
Добавлено: 19 июн 2008, 21:13
galover
Всем привет. Есть ли возможность сделать множественный выбор в стандартном фейсе Галактики (L_DOGOVOR::GetSomKatNotes). Если есть, то я так понимаю нужны маркеры, как их подвязать - в параметрах фейса ничего похожего нет

Буду рад примеру работы! Спасибо
Добавлено: 20 июн 2008, 05:04
Алексей
Стандартный фейс галактики либо дает множественный выбор, либо нет. Надо смотреть его параметры. Если он не подразумевает этого - проще написать свой и уже там подвязать либо маркеры.
Добавлено: 20 июн 2008, 08:23
k_vit
L_DOGOVOR::GetSomKatNotes
Код: Выделить всё
Parameters
pVidDoc, // фильтр вида документа ( 0 - фильтр не задан )
pSysNum, // системная группа: нужна для выбора статусов из нескольких видов документов (VidDoc)
// word(1) - платежные документы
// word(7) - кассовые документы
// word(37) - налоговый учет
pStatus, // 0 - выбирать все, иначе битовая маска запрещенных
OkOne, // TRUE - груповой выбор FALSE - только один
pKatNotes // входной-выходной - KatNotes.nRec
;
сохранение в маркер : 'MKatNotes'
Marker := InitMarker('MKatNotes',8,100,10);
Добавлено: 20 июн 2008, 10:25
galover
k_vit
ЗдОрово! То что доктор прописал, спасибо
А еде вы взяли описание параметров? В моей chm-ке такого нет
Добавлено: 20 июн 2008, 10:37
Алексей
У вас есть файлы с описанием компонент, там есть фейсы, возможно там можно найти. Правда там нет возможных значений с пояснением, типа 0 - выбирать все...
Этот код из исходников.
Добавлено: 20 июн 2008, 13:00
PViP
galover, смотрите exe\galdoc\!GDSK.chm! Правда это только в 8.1 такая дока есть!
Добавлено: 20 июн 2008, 15:52
galover
PViP
Смотрел, нет в этом файле комментариев, только сами параметры
Вот еще вопрос
Добавлено: 20 июн 2008, 16:00
galover
Есть ли способ узнать, был ли в интерфейсе изменен выбор записей? Или нужно создавать новый маркер, копировать туда все элементы, а после вызова фейса сравнивать эти маркеры?
Добавлено: 20 июн 2008, 16:16
k_vit
А зачем вам такое нужно?
Просто создайте маркер в своём интерфейсе и копируйте туда элементы из маркера интерфейса выбора, если вы хотите сохранять установленный фильтр.
Добавлено: 20 июн 2008, 16:38
galover
k_vit
это нужно, чтобы запустить процедуру обновления данных (довольно таки тяжелую и долгую по времени), так вот чтобы постоянно ее не тягать, мне и нужно знать - были ли изменения в выборе
Добавлено: 20 июн 2008, 16:45
galover
кстати, что то некорректно работает маркер. Ощущение, что элементы в маркер заносятся с опозданием. Скажем снял я все выделения в L_DOGOVOR::GetSomKatNotes, а в маркере все равно остаются элементы, после закрытия этого фейса. Если перестартовать главный фейс, то маркер L_DOGOVOR::GetSomKatNotes приходит в норму. Может его нужно как-то передергивать или еще что? Может производить инициализацию каждый раз при вызове или после L_DOGOVOR::GetSomKatNotes?
Добавлено: 20 июн 2008, 17:56
edward_K
последнее правильно

. соотв. на момент вызова он должен быть погашен и иниц. после или в момент форм.отчета.
Добавлено: 20 июн 2008, 18:00
galover
ладно, видимо придется свой аналогичный фейс писать
В догонку, никто не знает как обновить pickButton, который привязан к переменной, дело в том, что он считывает значение переменной, только если делается RescanPanel для одной из таблиц фейса
Добавлено: 20 июн 2008, 18:41
galover
edward_K
спасибо, так и сделаю!
как же все таки передернуть pickButton, не заводить же ради одного контрола таблицу с одной записью, чтобы сделать RescanPanel(#table)
на RescanPanel(#var) -> Галактика просто падает

Добавлено: 20 июн 2008, 23:07
edward_K
в xarpred должна быть 1 запись

.