Сохранение "выбора"

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
GTHack
Местный житель
Сообщения: 517
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск Новосибирск
Контактная информация:

Сохранение "выбора"

Сообщение GTHack »

Допустим есть фейс в котором нужно какжый раз выбирать МЦ для какого либо действа.
Думается каждый раз те же МЦ выбирать не очень приятно, отсюда интересуюсь кто как данную процедуру автоматизировал...

Пока думаю просто сливать эту таблу в dbf
...
Будут мнения ?
[url=http://blog.gtalex.ru]Блог GTAlex[/url]
Vitas
Местный житель
Сообщения: 230
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Сибирь

Re: Сохранение "выбора"

Сообщение Vitas »

если выбор единичный, то храни в dsk, если выбор множественный, то храни в Pick и чисть его по wList только при открытии при инициализации интерфейса выбора.

А в фейсе, в котором надо "каждый раз выбирать" при инициализации читай данные либо из dsk либо из Pick
Ищу возможности довести и так отличный продукт до еще большего блеска
GTHack
Местный житель
Сообщения: 517
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск Новосибирск
Контактная информация:

Re: Сохранение "выбора"

Сообщение GTHack »

я не про запоминание "последнего выбранного"
а именно "именованный выбор" - т.е. раз выбрал по какому нить только тебе известному признаку - сохранил под именем "выбор по признаку 1"
и так далее - чтоб из номенклатуры допустим 1000 наименований каждый раз не выбирать, а открыл файлик - у тебя уже всё помечено.
[url=http://blog.gtalex.ru]Блог GTAlex[/url]
Vitas
Местный житель
Сообщения: 230
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Сибирь

Re: Сохранение "выбора"

Сообщение Vitas »

я и говорю "храни в Pick и чисть его по wList только при инициализации ИНТЕРФЕЙСА ВЫБОРА."

т.е. если запускаешь фейс свой, пик еще содержить то, что в него записали, а когда к примеру по F3 запускаешь фейс выбора, то чистишь его, следовательно если не выбирать заного, то pick не чистится и в нем данные остаются от предыдущего выбора.
Ищу возможности довести и так отличный продукт до еще большего блеска
Hass
Сообщения: 6
Зарегистрирован: 29 мар 2005, 17:49

Re: Сохранение "выбора"

Сообщение Hass »

Добавь табличку в Галактику и храни...
Max_Fin
На пенсии
Сообщения: 797
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г. Тюмень
Контактная информация:

Re: Сохранение "выбора"

Сообщение Max_Fin »

Я написал 2 фукнции, одну вызываю при инициализации фейса, другую при завершении.
В таблице TblFlt храню необходимые данные
Table Struct TblFlt
(
wList: Word, //1 - МЦ, 2 - Подразделение, 3 - МОЛ, 4 - Org
cRec: Comp
)
with index
(
TblFlt00 = wList + cRec
);


Exception excGetFilter;

procedure GetFilter(FilterName: String; wList: Word);
{
var lMarker: LongInt;
var I, lCount: LongInt;
var cRec: Comp;

_try
{
lMarker := InitMarker(FilterName, 8, 100, 10, false);
lCount := GetMarkerCount(lMarker);
for (I := 0; I < lCount; I := I + 1)
{
if GetMarker(lMarker, I, cRec)
{
TblFlt.wList := wList;
TblFlt.cRec := cRec;
if insert current TblFlt <> tsOK _raise excGetFilter;
}
}
}
_except
on excGetFilter:
{
Message('Ошибка инициализации фильтра ' + FilterName, Error);
}
_finally
{
DoneMarker(lMarker, FilterName);
}
}

procedure SetFilter(FilterName: String; wList: Word);
{
var lMarker: LongInt;

lMarker := InitMarker(FilterName, 8, 100, 10, false);
ClearMarker(lMarker);
_loop TblFlt where ((wList == TblFlt.wList))
{
InsertMarker(lMarker, TblFlt.cRec);
}
DoneMarker(lMarker, FilterName);
}
Жду выхода Вселенная 2.12!
GTHack
Местный житель
Сообщения: 517
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск Новосибирск
Контактная информация:

Re: Сохранение "выбора"

Сообщение GTHack »

1. в таком раскладе пользователь не видит список ранее сохраненных фильтров, твоим функциям явно нужно имя фильтра т.е. нет возможности выбора фильтра, хотя думаю это можно доработать, список всех фильтров по нужному параметру как то вытащить надо будет

2. dsk частенько приходится стирать :), а все фильтры, на маркерах сделанные, именно там и лежат
[url=http://blog.gtalex.ru]Блог GTAlex[/url]
Max_Fin
На пенсии
Сообщения: 797
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г. Тюмень
Контактная информация:

Re: Сохранение "выбора"

Сообщение Max_Fin »

1. нет слов просто... ну да ладно, объяснять не буду
2. согласен
Жду выхода Вселенная 2.12!
GTHack
Местный житель
Сообщения: 517
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск Новосибирск
Контактная информация:

Re: Сохранение "выбора"

Сообщение GTHack »

по первому пункту я явно ложанулся :)
сам просто с маркерами ни разу не работал, всё через таблы памяти делал.

ну раз не хочешь объяснять - не надо, сам разберусь как время будет, да и дока по ним в опыте болтается

за процедурки всё равно спасибо, думаю не одному мне пригодяться
[url=http://blog.gtalex.ru]Блог GTAlex[/url]
ecasoft
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г.Королев МО ООО "Эффективная Комплексная Автоматизация- СОФТ"

Re: Сохранение "выбора"

Сообщение ecasoft »

Вообще в Галактике запоминают обычно как писал Vitas - в таблице Pick. Для каждой таблицы выбора свое значение wList. Не понял зачем придумывать еще что-то.
Некоммерческое общение в форуме
GTHack
Местный житель
Сообщения: 517
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск Новосибирск
Контактная информация:

Re: Сохранение "выбора"

Сообщение GTHack »

может я чего недопонимаю - но мне нужен именно именнованый выбор, а не сохранение последнего
пример:
открываю фейс выбора МЦ, нажимаю "загрузить сохраненный выбор", открывается окошко где всяческие сохраненные раньше выборы, допустим
"товары фирмы А",
"товары фирмы А+Б+У",
"товары которые есть у фирмы А но нет у Б"
выбираю нужный и хоп - нужные товары пометились,
в другой раз тоже напомечал каких нить товаров - сохранил выбор допустим
"взбрендило мне именно этих товаров пометить"

и такие именнованые выборы должны быть доступны каждому юзеру свои

вообще считаю что такую штуку вообще неплохо бы на уровне самой галактики реализовать, для всевозможных фейсов с возможностью выбора в панели нескольких единиц чего либо
[url=http://blog.gtalex.ru]Блог GTAlex[/url]
Max_Fin
На пенсии
Сообщения: 797
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г. Тюмень
Контактная информация:

Re: Сохранение "выбора"

Сообщение Max_Fin »

Ну дык это совсем другая постановка вопроса.

Общую настройку реализовывать нет смысла, т.к. в одном отчете нужно одно, а в другом совершенно другое.
Так что каждый реализует по своему.
Главное надо определиться - у тебя это будет пользовательская настройка, либо системная.
Затем прикинь какие таблицы можно заюзать Галки, которые у вас не используются и не повлияют на ваши же расчеты/отчеты.

По поводу Pick не согласен, т.к. в Галке эта таблица используется очень даже часто и нет ни какой гарантии, что не встретиться.
delete all pick;
Жду выхода Вселенная 2.12!
GTHack
Местный житель
Сообщения: 517
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск Новосибирск
Контактная информация:

Re: Сохранение "выбора"

Сообщение GTHack »

настройка будет пользовательская
на общую я конечно не замахиваюсь, просто к своему фейсу хочу написать
таблицы Галки вообще использовать не хочу, засрут до безобразия - не думаю что кто нибудь когда нибудь свои сохраненные выборы будет стирать

по этому и рассматриваю вариант сохранения выбора в какой нить dbf на диск юзера в какой нить отведенной для этого папке

таки дела ...
просто думал, что кто нибудь подобное уже делал - вот и решил вопрос задать
[url=http://blog.gtalex.ru]Блог GTAlex[/url]
Seybukan
Местный житель
Сообщения: 1357
Зарегистрирован: 29 мар 2005, 17:49
Откуда: СПб, ЭП-Аудит
Контактная информация:

Re: Сохранение "выбора"

Сообщение Seybukan »

Есть стандартная функция мометить из внешнего источника.
Там как раз можно настроить пометку из DBF.
Правда если есть соответствующая лицензия.

Пометка идет по баркоду.
Остаеться вопрос как сформировать файл DBF.
Ответить