exclassseg & exclassier

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

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

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

exclassseg & exclassier

Сообщение GTHack »

не пойму прикола- две почти одинаковые таблицы

exclassname - понятно, а вот информацию по самим классификаторам откуда брать
из exclassseg или из exclassier ?

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

Re: exclassseg & exclassier

Сообщение GTHack »

и еще - скорее всего у многих есть наработки по работе с внешними классификаторами и внешними аттрибутами из свойх фейсов

за примеры где можно это дело глянуть буду очень благодарен (интересует так же возможность вызова стандартных фейсов по внешн.аттрибутам и классификаторам для использования в своем коде)
[url=http://blog.gtalex.ru]Блог GTAlex[/url]
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5185
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: exclassseg & exclassier

Сообщение 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 );
}
:)
а так что с чем сязано сам разберешься
Deinis
Местный житель
Сообщения: 783
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Re: exclassseg & exclassier

Сообщение 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 связки с остальными вышестоящими уровнями).
Deinis
Местный житель
Сообщения: 783
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Re: exclassseg & exclassier

Сообщение Deinis »

Пояснение:

1) ExClassIer.cRecDS == ExClassSeg.nRec (имеется в виду nRec собственного значения ExClassSeg ;) - тафтология какая-то - для одной и той же записи ExClassIer в он всегда будет один и тот же)

2) ExClassIer.cGroup == ExClassSeg.nRec
(а это уже связка с вышестоящими уровнями твоей классификации ExClassSeg)
GTHack
Местный житель
Сообщения: 517
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск Новосибирск
Контактная информация:

Re: exclassseg & exclassier

Сообщение GTHack »

Деинис - спасибо, разжевал всё подробно, с примерами - вот бы все так грамотно и доходчиво объясняли ! сразу всё понятно !

Edward_K - ну тут у меня вообще слов нет !!!
просто супер, причем сразу заработала - что у меня редко бывает - коротко ясно и понятно!

такие вещи я думаю надо как нибудь в "опыт для новичков" оформлять, т.к. в работе программиста с внешними аттрибутами и классификаторами - никуда не денешся.

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

Re: exclassseg & exclassier

Сообщение GTHack »

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

Re: exclassseg & exclassier

Сообщение GTHack »

вот например - нужно сделать чтобы из формы можно было сменить классификатор.
т.е. есть поле для ввода - там сидит значение внешнего классификатора - нужно сменить. как это грамотно сделать ?
думаю запустить галактический фейс выбора значения классификатора
runInterface(PICKEXCLASSIFIER, .......
токо вото параметров не знаю :(
[url=http://blog.gtalex.ru]Блог GTAlex[/url]
forummaster
Посетитель
Сообщения: 46
Зарегистрирован: 29 мар 2005, 17:49

truth is out there

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

Re: truth is out there

Сообщение GTHack »

во - классно, хоть указали где можно покопать! я бы с удовольствием, но у меня почему то нет такого каталога :(
(Галактика 5.73)
может поделится кто ?

кстати я думаю в форуме можно и на ты,
всё таки все мы тут одной крови программерской :)

P.S. хвала товаришу ValeraS !
Edward_K спасибо за предоставленную информацию :)
[url=http://blog.gtalex.ru]Блог GTAlex[/url]
forummaster
Посетитель
Сообщения: 46
Зарегистрирован: 29 мар 2005, 17:49

Re: exclassseg & exclassier

Сообщение forummaster »

<HTML>PickExClassifier

Parameters
wObjType : word // внутренний код таблицы, напрмер coKatOrg, cokatPodr, co...
lClassSeg : comp // значение классификационного кода (возвращаемый)
UniqFeat : word //уникальность (возвращаемый)</HTML>
GTHack
Местный житель
Сообщения: 517
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск Новосибирск
Контактная информация:

Re: exclassseg & exclassier

Сообщение GTHack »

FORUMMASTER спасибо
не секрет откуда такая информация ?
всё из каталога FRM ?
[url=http://blog.gtalex.ru]Блог GTAlex[/url]
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5185
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: exclassseg & exclassier

Сообщение edward_K »

а я и не присваиваю себе авторство - потому и привел без разьяснений.
если я здесь приведу свой кусок то так и напишу - отрывок мой .
а каталог frm поставляется вместе с галой - наверное его просто грохнули после установки. Кроме того есть возможность посмотреть формы прям из галы.
пишешь в Galnet.cfg
[Forms]
Fcenv=On
после этого в настройке формы появляется кнопочка F4
более подробно можно глянуть в параметрах конфигуратора или в доке :)
GTHack
Местный житель
Сообщения: 517
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск Новосибирск
Контактная информация:

Re: exclassseg & exclassier

Сообщение GTHack »

про Fcenv то я знаю (если бы не знал то испытательный срок и не прошел бы т.к. каталог FRM наверно после установки всё таки грохнули)
но Fcenv=On дает возможность просматривать только линк формы, а например тот код который ты привел не выцепиш.

на счёт
>более подробно можно глянуть в параметрах >конфигуратора или в доке
далеко ходить не будем - допустим где я мог бы посмотреть параметры для фейса PickExClassifier ?

просто чем лишний раз сюда вопросы бросать я бы конечно сам глянул где нужно, токо вот незнаю где

на счёт каталога FRM - может кто нибудь зальёт мне на мыло ? (ессно у кого исходящий инет халявный) - буду очень благодарен
(желательно к версии 5.73 - ну за неимением такой можно и к более свежей версии)
[url=http://blog.gtalex.ru]Блог GTAlex[/url]
Deinis
Местный житель
Сообщения: 783
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Re: exclassseg & exclassier

Сообщение Deinis »

При работе с внешними атрибутами и внешней классификацией есть неудобный момент. Создаем например в каталоге ОС инв. карточку. Присваиваем ей либо внеш.атрибут либо внеш.классификацию. Потом удаляем карточку. А вот в таблице внеш.атрибутов или классификатора (AttrVal и ExClassVal) остается "мусор" со ссылкой "в никуда".
Вот, например, когда удаляется какой-нить документ, то удаляются и записи с ним связанные (при удалении бух.справки удаляются записи из PlPor, BaseFin, SoprHoz и т.д.).
А про внешние атрибуты и внешнюю классификацию разработчики проcто забыли. Руки дойдут - напишу в техподдержку.
Ответить