Нормальное описание использования PICK
Модераторы: m0p3e, edward_K, Модераторы
-
- Местный житель
- Сообщения: 291
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: С-Петербург
- Контактная информация:
Нормальное описание использования PICK
Не знаю где бы найти это описание. В документашках не нашел,
По форуму - везде урывками.
Как юзать?
Как туда данные попадают, какие, как их тащить оттуда потом?
По форуму - везде урывками.
Как юзать?
Как туда данные попадают, какие, как их тащить оттуда потом?
-
- На пенсии
- Сообщения: 797
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: г. Тюмень
- Контактная информация:
Pick это временная таблица, которая обычно применяется в интерфейсах для множественного выбора данных.
по внутренней договоренности, опять таки может быть и не всегда
wList - признак по которому можно определить выбранные данные
cRec - сслыка на выбранную запись
поля PickKol и PickNum являются дополнительными
PickNum используется обычно для сортировки выбранных данных
PickKol скорее всего будет содержать количество выбранных элементов.
Существует можество используемых кодов для wList в исходниках Галактики, причем некоторые коды пересекаются и имеют разную природу.
Вот что декларируется минскими программистами:
по внутренней договоренности, опять таки может быть и не всегда
wList - признак по которому можно определить выбранные данные
cRec - сслыка на выбранную запись
поля PickKol и PickNum являются дополнительными
PickNum используется обычно для сортировки выбранных данных
PickKol скорее всего будет содержать количество выбранных элементов.
Существует можество используемых кодов для wList в исходниках Галактики, причем некоторые коды пересекаются и имеют разную природу.
Вот что декларируется минскими программистами:
Код: Выделить всё
Коды wList, используемые в интерфейсах группового выбора
!!! Добавляйте константы для Pick.wList в pick.inc
!!! и используйте их вместо числовых значений
!!! (это все следует туда перенести)
КОД Таблица Файл Интерфейс
--- ----------- ------------ -------------
+ 1 barter GETSOMBA.VIP GetSomeBarter
+ 2 GroupMC GETSOMGM.VIP GetSomGM
+ 3 GroupParty GETSOMGP.VIP GetSomGP
+ 4 GroupSch GETSOMGS.VIP GetSomeGS
+ 5 GroupUsl GETSOMGU.VIP GetSomGU
+ 6 KatOrg GETSOMKO.VIP GetSomeKontr
+ 7 KatMC GETSOMMC.VIP GetSomeMC (pmc:comp)
+ 8 KatMOL GETSOMMO.VIP GetSomeMOL
+ 9 KatNazna GETSOMNA.VIP GetSomNa
+ 10 KatParty GETSOMPA.VIP GetSomeParty
+ 11 KatPodr GETSOMPO.VIP GetSomePodr
+ 11 KatPodr GETSOMSK.VIP GetSompSklad
+ 12 KatUsl GETSOMUS.VIP GetSomeUsl
+ 13 KatLimit GETSOMLI.VIP GetSomeLimit
+ 14 baseDoc GETBASED.VIP GetBaseDoc
+ 14 baseDoc GETKONDO.VIP GetKonDO
+ 15 baseDoc Consig.Vip Consig
BaseDoc.Vip baseDoc
и все \VLAD.*
+ 14 basedoc FORM_S_D.VIP FormSoprDocBatch
+ 16 plpor PLPOR.VIP PlPor
+ 16 plpor plmove.vip PlPor
+ 16 plpor plprior.vip PlPor
+ 17 plpor pickpld.vip PickPlatDocs
+ 17 plpor reeplpor.vip ReePlPor
+ 17 reeplpor getreepl.vip getreepl
+ 18 platved platvedc.vip PlatVed_Kassa
+ 19 Podotchet podotche.vip Podotchet
+ 20 GoNewPer b_closch.pas gonewper
+ 21 KatNalog getsomnl.vip GetSomeNalog
+ 22 KatSopr someSopr.cip GetSomeSopr
+ 23 KatMbp GetL_MBP.vip GetL_MBP // наименований МБП
+ 24 MbpIn Line_MBP.vip Line_MBP // приходы МБП
+ 25 MbpOut Woff_MBP.vip Woff_MBP // расходы МБП
+ 26 soprhoz
+ 27 katos KatOs.vip KatOss
+ 28 ClassNam somekl GetSomeKL // групповой выбор самого верхнего внешнего классификатора
+ 29 Plpor closesch.vip closeschdel
!!! + 30 Oborot oborot.vip oborot // Maxxi: не используется. пометка переведена на маркер
+ 31 GrSopr grsopr.vip GrSopr // пометка для груповой печати и удаления
+ 32 BaseDoc getdbase.vip getdbase
+ 33 GrPodr пока нет... пока нет... // Группа подразделений
+ 34 KatBox getsombo.vip GetSomeKatBox // ячейка
+ 35 KLVal getsomva.vip GetSomeKLVal // валюта
+ 36 CredCard getsomcr.vip GetSomeCredCard // выбор кредитных карточек
+ 37 veddeponir veddepon.vip VedDepon_Kassa
+ 39 PlPor G_PlPor.vip G_PlPor
+ 40 ParPrice getparpr.vip GetParprice // уточнение партии при выборе из прайс-листа
+ 41
+ 42
+ 43 hozoper seehozop.vip seehozoper формирование реестров ТХО
+ 44 GroupSFO getsomso.vip getsomso групповой выбор групп СФО
+ 45 PersCard getsomcd.vip getsomcd групповой выбор ЛК учета МБП
+ 47 NPunkts getsompu.vip GetSomeNPunkts групповой выбор пунктов погрузки.разгрузки
+ 48 Persons GetPers.vip GetPers групповой выбор сотрудников
+ 49 HozMacro viewhoz.vip ViewHoz выбор ТХО в репозитарии
+ 50 VidVeks VidVeks.vip VidVeks групповой выбор видов векселей
+ 51 VeksStat VeksStat.vip VeksStat групповой выбор статусов векселей
+ 52 Veksl Veksl.vip Veksl групповой выбор в каталоге векселей
+ 57 DocClass групповой выбор в наборов свойств МЦ (6.0)
+ 58 ValutDoc VbnakDoc.vip ValutDoc групп. выб. поручений на покупку\продажу\конвертацию валюты
!Володько А.В.
+ 72 UsersDoc GSomUsDo.vip GetSomeUsersDoc Типы документов СФ - продажи
+ 73 UsersDoc GSomUsDo.vip GetSomeUsersDoc Типы документов СФ - закупки
+ 74 UsersDoc GSomUsDo.vip GetSomeUsersDoc Типы записей по СФ - продажи
+ 75 UsersDoc GSomUsDo.vip GetSomeUsersDoc Типы записей по СФ - закупки
+ 76 UsersDoc GSomUsDo.vip GetSomeUsersDoc Типы документов НН - продажи
+ 77 UsersDoc GSomUsDo.vip GetSomeUsersDoc Типы документов НН - закупки
+ 78 UsersDoc GSomUsDo.vip GetSomeUsersDoc Типы записей по НН - продажи
+ 79 UsersDoc GSomUsDo.vip GetSomeUsersDoc Типы записей по НН - закупки
+ 80 Dogovor getdogov.vip GetDogovor договора // только одиночный выбор (в Pick ничего не заносится)
pikdogov.vip PickDogovor // одиночный/множественный выбор
+ 90 ??? expimp\*.vip Экспорт - Импорт
+100 KatOrg getsks.vip GetSomeKontrSaldo // для временных целей
+101 KatNa getKatNa.vip GetKatNa // групповой выбор шифров норм амортизации
+102-150 для модуля Основные средства
+102 KatOs KatOs.vip KatOss
+110 GrOs GrOs.vip GrOs
+111 IspOs IspOs.vip IspOs
+112 KatDrag KatDragM.vip KatDragMet
+113 KlassOs KatKlass.vip KatKlass
+114 Kodof KodOKOF.vip Kodokof
+115 NastrOs NastrOs.vip NastrOs
+116 VidNorma VidNorma.vip KatVidNorma
+117 KatForm Form11.vip Form11
+118 PrSb PrSb.vip KatPrSb
+150 KatOs KatOs.vip KatOss
+200 KatDrag KatDragM.vip KatDragMet
+201 ??? GetFldAl.vip GetFields
+202 ??? GetFldAl.vip GetFields
+220 KatSopr GetAnNak.vip GetAnNakl
+221 ActDisc ActDisc.vip ActDisc
+333 SchFact SchFact.vip SchFact
+440 nZakaz getsnzak.vip GetSomNZakaz наряд заказы // только одиночный выбор (в Pick ничего не заносится)
piknzak.vip PickNZak // одиночный/множественный выбор
+441 OtgOrder getsotgr.vip GetGrOtgOrder распоряжения на отгрузку / только одиночный выбор (в Pick ничего не заносится)
pikotgr.vip PickOtgOrder // одиночный/множественный выбор
+446 KlProg getsomp.vip GetSomKlProg выбор программ // только одиночный выбор (в Pick ничего не заносится)
piksompr.vip PickSomKlProg // одиночный/множественный выбор
+447 KatNotes getsnote.vip GetSomKatNotes статус договоров // только одиночный выбор (в Pick ничего не заносится)
picknotes.vip PickKatNotes // одиночный/множественный выбор
+448 KatVidD getsomvd.vip GetSomVidD вид договоров // только одиночный выбор (в Pick ничего не заносится)
piksomvd.vip PickSomVidD // одиночный/множественный выбор
+449 UserDeskRep GetUDskR.vip GetUserDeskRep выбор настроек отчетов
+555 ??? ????????.VIP NaklSoot // для временных целей
RECSWIFT.VIP ReceiveSwift
+556 для временных целей Александра Крахотко...
+557 для временных целей Бартоша Жени...
+558
+560-569 для производства Сенькевич Игорь...
+570 для временных целей Сороки Валерия(ValeraS)...
+580-610 для временных целей Жалейко Алексея (ALEXZ)
+611-619 для временных целей (сбыт-снабжение)
+770 - +789 USED BY LSERG
+777 ------"------
+778 ------"------ (selCMCd.vpp e.c.)
+779 ------"------
+780 ------"------ (selMC4Rz.vip)
+781 ------"------ (selPrih.vip)
+782 ------"------ (selPrih.vip)
+800 - выбор МЦ по заданной группе МЦ (GetMCbyG.vip)
+801-830 ------"------ (SkyShop by LSerg)
+830-840 USED BY LSERG
+900-950 зарезервировано для розничной торговли
+1000-2000 - зарезервировано для Административного и АСУП контуров (Новый Атлант)
// Платежный календарь 2001 - 2100
+2001 - список финансовых операций для ф-ции формирования хозяйственных
документов по финансовым операциям.
+2002 AKTOFP gtaktofp.vip GetAKTOFP Выбор финансовых обязательств
+2003 AKTOFP operfinp.vip OperFinPlan Пометка финансовых обязательств для операций
+19850-19866 SSA *.vip для временных целей (учет в производстве)
+19867 YURI *.vip везде у себя// кроме ВАДИКОВых
+19868 для временных целей Володько Анатолия (Dolgopl1.vip)
+19869 для временных целей Володько Анатолия (SoprSchf.vip)
+19870 для временных целей модуля Автотранспорт (putlst.vip)
+19871 для выбора маршрутов модуля Автотранспорт (Way_dor.vip)
+19872 для выбора пунктов маршрута модуля Автотранспорт (Get_Itws.vip)
+19873-19879 зарезервировано для временных целей модуля Автотранспорт
+19880-19885 Angel norma* для управления техпроцессами
+19886-19900 Axe MnfPlan для каталогов в Производственном планировании
+19901-19989 Tanni для модуля Клиент
+20000-20020 Tolya для каталогов KatKod.vip
+20100 Tolya для отбора статей бюджета
+20105-20110 Michailov для проверки целостности КБУ
Re: Нормальное описание использования PICK
Основные поля таблицы Pick:Johny писал(а):Не знаю где бы найти это описание. В документашках не нашел,
По форуму - везде урывками.
Как юзать?
Как туда данные попадают, какие, как их тащить оттуда потом?
В нее заносятся данные обычно из интерфейсов выбора.CREC - номер элемента в выбираемой таблице
WLIST - код списка (таблицы)
PICKKOL - выбранное количество
PICKNUM - порядок выбора
Например интерфейс выбора МЦ : GetSomeMC
В нем в событиях cmMarkUnMark, cmSelectAll, cmUnSelectAll происходит вставка и удаление данных в/из таблицу Pick с wList=7. При этом в cRec записывается nrec выбранной МЦ, т.е. katMC.nrec.
Следовательно после того как в своем интерфейсе вызывается интерфейс GetSomeMC можно путем выборки из таблицы Pick с ограничением по wList=7 выделить nrec тех МЦ, которые были помечены в нем.
Данные в Pick попадают самым обычным способом, т.е. записью, например:
Код: Выделить всё
insert in Pick set wList:=7, cRec:=katmc.nrec, ...;
или
set Pick.wList:=7;
set Pick.cRec:=katmc.nrec;
...
insert current Pick;
Pick.PickKol - в него записывается выбранное кол-во, например когда запрашивается выбираемое кол-во, т.е. к примеру при формировании накладной, заполняя спецификацию вы помечаете МЦ и при пометке вас спрашивают кол-во МЦ
Pick.PickNum - записывается порядковый номер записи при выборе, т.е. 1, 2, 3, ...
Все очень просто, главное попробовать.
-
- Местный житель
- Сообщения: 228
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Москва
- Контактная информация:
Пример занесения в Pick Nrec'ов Katsopr:
Реализовано в собственно интерфейсе. Если понравиться, используй...
Код: Выделить всё
select * from katsopr, pick
where
((
word(201) == katsopr.vidsopr
and word(200) == pick.wlist
and katsopr.nrec == pick.crec
))
;
HandleEvent
cm...:
PushPos(#KatSopr) ;
var dStat : longint ;
FOR (dStat := GetFirst KatSopr;
dStat = tsOk;
dStat := GetNext Katsopr)
{
if (GetFirst Pick
where (( word(200) == Pick.wList and
KatSopr.nRec == Pick.cRec )) <> tsOk)
{
ClearBuffer(#Pick) ;
Pick.wList := 200 ;
Pick.cRec := KatSopr.nRec ;
insert Current Pick ;
}
} // FOR "KatSopr"
PopPos(#KatSopr) ;
ReReadRecord(#KatSopr) ;
} // cm...
end; // HandleEvent
-
- Местный житель
- Сообщения: 228
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Москва
- Контактная информация:
А чтобы вытащить по Pick используй следующее:
И работай с данными, сколько влезет.
Единственной в cmInit Лучше прописать, чтобы Pick обнулялся, если конечно это нужно...
Код: Выделить всё
select ...
Where
((
word(200) == pick.wlist
and pick.crec == katsopr.nrec
))
;
Единственной в cmInit Лучше прописать, чтобы Pick обнулялся, если конечно это нужно...