Страница 1 из 2
exclassseg & exclassier
Добавлено: 10 апр 2003, 16:27
GTHack
не пойму прикола- две почти одинаковые таблицы
exclassname - понятно, а вот информацию по самим классификаторам откуда брать
из exclassseg или из exclassier ?
поясните плиз зачем две таблы с дублирующейся информацией ?
Re: exclassseg & exclassier
Добавлено: 10 апр 2003, 16:44
GTHack
и еще - скорее всего у многих есть наработки по работе с внешними классификаторами и внешними аттрибутами из свойх фейсов
за примеры где можно это дело глянуть буду очень благодарен (интересует так же возможность вызова стандартных фейсов по внешн.аттрибутам и классификаторам для использования в своем коде)
Re: exclassseg & exclassier
Добавлено: 10 апр 2003, 17:01
edward_K
var ExAttrFun : iExAttr;
var ExClassFun : iExClass;
var cAttr : comp;
var wTypAttr, wClassCode : word;
var sRet: string;
sRet := '';
if GetVIPInterface( ExClassFun ) {
wClassCode := ExClassFun.GetCode( coKatParty, 'Страна' );
sRet := ExClassFun.GetSegName( coKatParty, wClassCode, KatParty.nRec );
SrcCountry := if(sRet = '', 'Россия', sRet);
FreeVIPInterface( ExClassFun );
}
if GetVIPInterface( ExAttrFun ) {
if ExAttrFun.GetAttr( coKatParty, 'Цена', cAttr, wTypAttr ) = 0 {
sRet := ExAttrFun.GetValue( coKatParty, cAttr, KatParty.nRec, wTypAttr );
GTDNumber := if(sRet = '', '-', sRet);
}
else GTDNumber := '-';
FreeVIPInterface( ExAttrFun );
}
а так что с чем сязано сам разберешься
Re: exclassseg & exclassier
Добавлено: 10 апр 2003, 17:16
Deinis
Отрывок из моей программы:
...
and word(3000) == ExClassVal.wTable
and SpMoveOS.cKatOS == ExClassVal.cRec
and ExClassVal.cClassSeg == ExClassSeg.nRec
and ExClassSeg.ClassCode == ExClassName.ClassCode
and ClassifNum == ExClassName.ClassCode
Т.е. сами значения хранятся в ExClassVal. Слово "значение" представляет из себя просто ссылку на ExClassSeg.
ExClassSeg - это собственно заголовок твоего значения, то, как он называется. Допустим, твоя классификация "Признак собственности" и состоит из 2-х элементов: "Собственный" и "Арендованный". Вот эти самые "Собственный" и "Арендованный" и есть две записи в ExClassSeg.
ExClassName - сама классификация (название и порядковый №)
Таблица ExClassIer используется если у тебя более чем 1 уровень в твоей классификации.
1) ExClassIer.cRecDS == ExClassSeg.nRec (всегда)
2) ExClassIer.cGroup == ExClassSeg.nRec
Кол-во записей в ExClassIer - 1 шт. (само на себя) + кол-во связок с каждым из вышестоящих уровней (т.е. если у тебя 4 уровня внешней классификации, то на последнем уровне (у последнего элемента классификации) будет 4 записи в ExClassSeg - 1 само на себя + 3 связки с остальными вышестоящими уровнями).
Re: exclassseg & exclassier
Добавлено: 10 апр 2003, 18:05
Deinis
Пояснение:
1) ExClassIer.cRecDS == ExClassSeg.nRec (имеется в виду nRec собственного значения ExClassSeg
- тафтология какая-то - для одной и той же записи ExClassIer в он всегда будет один и тот же)
2) ExClassIer.cGroup == ExClassSeg.nRec
(а это уже связка с вышестоящими уровнями твоей классификации ExClassSeg)
Re: exclassseg & exclassier
Добавлено: 11 апр 2003, 09:00
GTHack
Деинис - спасибо, разжевал всё подробно, с примерами - вот бы все так грамотно и доходчиво объясняли ! сразу всё понятно !
Edward_K - ну тут у меня вообще слов нет !!!
просто супер, причем сразу заработала - что у меня редко бывает - коротко ясно и понятно!
такие вещи я думаю надо как нибудь в "опыт для новичков" оформлять, т.к. в работе программиста с внешними аттрибутами и классификаторами - никуда не денешся.
еще раз всем спасибо !
Re: exclassseg & exclassier
Добавлено: 11 апр 2003, 09:12
GTHack
и еще момент -
вот такой грамотный код у Эдварда - сила просто!
но как такие штуки писать когда нет информации по стандартным галактическим фейсам?!
может кто подкинет ссылочку или еще как нибудь. Охото же и самому подобное делать.
Re: exclassseg & exclassier
Добавлено: 11 апр 2003, 09:47
GTHack
вот например - нужно сделать чтобы из формы можно было сменить классификатор.
т.е. есть поле для ввода - там сидит значение внешнего классификатора - нужно сменить. как это грамотно сделать ?
думаю запустить галактический фейс выбора значения классификатора
runInterface(PICKEXCLASSIFIER, .......
токо вото параметров не знаю
truth is out there
Добавлено: 11 апр 2003, 09:49
forummaster
<HTML>кхм... позволю себе некоторые коррективы...
"крутейший код" от Edward_K есть не что иное как вставка из файла sfbla2vp.frn автором которого является Сорока Валерий Васильевич (ValeraS). Файло это (sfbla2vp.frn) поставляется вместе с Галактикой и лежит в
...\FRM\gal.rar{\frm\Oper\sfbla2vp.frn} Думаю хвалу и почести следует направить товарищу ValeraS, а Edward_K сказать спасибо за предоставленную информацию с указанием авторских прав...
так что было бы по крайней мере очень странно если бы этот кусок кода не заработал
2 GT Alex : покопайте на досуге содержимое каталога FRM, много полезного извлечете... например txoapi.rar и т.д. и т.п.</HTML>
Re: truth is out there
Добавлено: 11 апр 2003, 09:58
GTHack
во - классно, хоть указали где можно покопать! я бы с удовольствием, но у меня почему то нет такого каталога
(Галактика 5.73)
может поделится кто ?
кстати я думаю в форуме можно и на ты,
всё таки все мы тут одной крови программерской
P.S. хвала товаришу ValeraS !
Edward_K спасибо за предоставленную информацию
Re: exclassseg & exclassier
Добавлено: 11 апр 2003, 10:11
forummaster
<HTML>PickExClassifier
Parameters
wObjType : word // внутренний код таблицы, напрмер coKatOrg, cokatPodr, co...
lClassSeg : comp // значение классификационного кода (возвращаемый)
UniqFeat : word //уникальность (возвращаемый)</HTML>
Re: exclassseg & exclassier
Добавлено: 11 апр 2003, 10:39
GTHack
FORUMMASTER спасибо
не секрет откуда такая информация ?
всё из каталога FRM ?
Re: exclassseg & exclassier
Добавлено: 11 апр 2003, 10:52
edward_K
а я и не присваиваю себе авторство - потому и привел без разьяснений.
если я здесь приведу свой кусок то так и напишу - отрывок мой .
а каталог frm поставляется вместе с галой - наверное его просто грохнули после установки. Кроме того есть возможность посмотреть формы прям из галы.
пишешь в Galnet.cfg
[Forms]
Fcenv=On
после этого в настройке формы появляется кнопочка F4
более подробно можно глянуть в параметрах конфигуратора или в доке
Re: exclassseg & exclassier
Добавлено: 11 апр 2003, 11:07
GTHack
про Fcenv то я знаю (если бы не знал то испытательный срок и не прошел бы т.к. каталог FRM наверно после установки всё таки грохнули)
но Fcenv=On дает возможность просматривать только линк формы, а например тот код который ты привел не выцепиш.
на счёт
>более подробно можно глянуть в параметрах >конфигуратора или в доке
далеко ходить не будем - допустим где я мог бы посмотреть параметры для фейса PickExClassifier ?
просто чем лишний раз сюда вопросы бросать я бы конечно сам глянул где нужно, токо вот незнаю где
на счёт каталога FRM - может кто нибудь зальёт мне на мыло ? (ессно у кого исходящий инет халявный) - буду очень благодарен
(желательно к версии 5.73 - ну за неимением такой можно и к более свежей версии)
Re: exclassseg & exclassier
Добавлено: 11 апр 2003, 13:22
Deinis
При работе с внешними атрибутами и внешней классификацией есть неудобный момент. Создаем например в каталоге ОС инв. карточку. Присваиваем ей либо внеш.атрибут либо внеш.классификацию. Потом удаляем карточку. А вот в таблице внеш.атрибутов или классификатора (AttrVal и ExClassVal) остается "мусор" со ссылкой "в никуда".
Вот, например, когда удаляется какой-нить документ, то удаляются и записи с ним связанные (при удалении бух.справки удаляются записи из PlPor, BaseFin, SoprHoz и т.д.).
А про внешние атрибуты и внешнюю классификацию разработчики проcто забыли. Руки дойдут - напишу в техподдержку.