exclassseg & exclassier
Модераторы: m0p3e, edward_K, Модераторы
-
- Местный житель
- Сообщения: 517
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Новосибирск Новосибирск
- Контактная информация:
exclassseg & exclassier
не пойму прикола- две почти одинаковые таблицы
exclassname - понятно, а вот информацию по самим классификаторам откуда брать
из exclassseg или из exclassier ?
поясните плиз зачем две таблы с дублирующейся информацией ?
exclassname - понятно, а вот информацию по самим классификаторам откуда брать
из exclassseg или из exclassier ?
поясните плиз зачем две таблы с дублирующейся информацией ?
[url=http://blog.gtalex.ru]Блог GTAlex[/url]
-
- Местный житель
- Сообщения: 517
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Новосибирск Новосибирск
- Контактная информация:
Re: exclassseg & exclassier
и еще - скорее всего у многих есть наработки по работе с внешними классификаторами и внешними аттрибутами из свойх фейсов
за примеры где можно это дело глянуть буду очень благодарен (интересует так же возможность вызова стандартных фейсов по внешн.аттрибутам и классификаторам для использования в своем коде)
за примеры где можно это дело глянуть буду очень благодарен (интересует так же возможность вызова стандартных фейсов по внешн.аттрибутам и классификаторам для использования в своем коде)
[url=http://blog.gtalex.ru]Блог GTAlex[/url]
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: exclassseg & exclassier
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 );
}
а так что с чем сязано сам разберешься
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 );
}
а так что с чем сязано сам разберешься
-
- Местный житель
- Сообщения: 783
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Москва
- Контактная информация:
Re: exclassseg & exclassier
Отрывок из моей программы:
...
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 связки с остальными вышестоящими уровнями).
...
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 связки с остальными вышестоящими уровнями).
-
- Местный житель
- Сообщения: 783
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Москва
- Контактная информация:
Re: exclassseg & exclassier
Пояснение:
1) ExClassIer.cRecDS == ExClassSeg.nRec (имеется в виду nRec собственного значения ExClassSeg - тафтология какая-то - для одной и той же записи ExClassIer в он всегда будет один и тот же)
2) ExClassIer.cGroup == ExClassSeg.nRec
(а это уже связка с вышестоящими уровнями твоей классификации ExClassSeg)
1) ExClassIer.cRecDS == ExClassSeg.nRec (имеется в виду nRec собственного значения ExClassSeg - тафтология какая-то - для одной и той же записи ExClassIer в он всегда будет один и тот же)
2) ExClassIer.cGroup == ExClassSeg.nRec
(а это уже связка с вышестоящими уровнями твоей классификации ExClassSeg)
-
- Местный житель
- Сообщения: 517
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Новосибирск Новосибирск
- Контактная информация:
Re: exclassseg & exclassier
Деинис - спасибо, разжевал всё подробно, с примерами - вот бы все так грамотно и доходчиво объясняли ! сразу всё понятно !
Edward_K - ну тут у меня вообще слов нет !!!
просто супер, причем сразу заработала - что у меня редко бывает - коротко ясно и понятно!
такие вещи я думаю надо как нибудь в "опыт для новичков" оформлять, т.к. в работе программиста с внешними аттрибутами и классификаторами - никуда не денешся.
еще раз всем спасибо !
Edward_K - ну тут у меня вообще слов нет !!!
просто супер, причем сразу заработала - что у меня редко бывает - коротко ясно и понятно!
такие вещи я думаю надо как нибудь в "опыт для новичков" оформлять, т.к. в работе программиста с внешними аттрибутами и классификаторами - никуда не денешся.
еще раз всем спасибо !
[url=http://blog.gtalex.ru]Блог GTAlex[/url]
-
- Местный житель
- Сообщения: 517
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Новосибирск Новосибирск
- Контактная информация:
Re: exclassseg & exclassier
и еще момент -
вот такой грамотный код у Эдварда - сила просто!
но как такие штуки писать когда нет информации по стандартным галактическим фейсам?!
может кто подкинет ссылочку или еще как нибудь. Охото же и самому подобное делать.
вот такой грамотный код у Эдварда - сила просто!
но как такие штуки писать когда нет информации по стандартным галактическим фейсам?!
может кто подкинет ссылочку или еще как нибудь. Охото же и самому подобное делать.
[url=http://blog.gtalex.ru]Блог GTAlex[/url]
-
- Местный житель
- Сообщения: 517
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Новосибирск Новосибирск
- Контактная информация:
Re: exclassseg & exclassier
вот например - нужно сделать чтобы из формы можно было сменить классификатор.
т.е. есть поле для ввода - там сидит значение внешнего классификатора - нужно сменить. как это грамотно сделать ?
думаю запустить галактический фейс выбора значения классификатора
runInterface(PICKEXCLASSIFIER, .......
токо вото параметров не знаю
т.е. есть поле для ввода - там сидит значение внешнего классификатора - нужно сменить. как это грамотно сделать ?
думаю запустить галактический фейс выбора значения классификатора
runInterface(PICKEXCLASSIFIER, .......
токо вото параметров не знаю
[url=http://blog.gtalex.ru]Блог GTAlex[/url]
-
- Посетитель
- Сообщения: 46
- Зарегистрирован: 29 мар 2005, 17:49
truth is out there
<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>
"крутейший код" от Edward_K есть не что иное как вставка из файла sfbla2vp.frn автором которого является Сорока Валерий Васильевич (ValeraS). Файло это (sfbla2vp.frn) поставляется вместе с Галактикой и лежит в
...\FRM\gal.rar{\frm\Oper\sfbla2vp.frn} Думаю хвалу и почести следует направить товарищу ValeraS, а Edward_K сказать спасибо за предоставленную информацию с указанием авторских прав...
так что было бы по крайней мере очень странно если бы этот кусок кода не заработал
2 GT Alex : покопайте на досуге содержимое каталога FRM, много полезного извлечете... например txoapi.rar и т.д. и т.п.</HTML>
-
- Местный житель
- Сообщения: 517
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Новосибирск Новосибирск
- Контактная информация:
Re: truth is out there
во - классно, хоть указали где можно покопать! я бы с удовольствием, но у меня почему то нет такого каталога
(Галактика 5.73)
может поделится кто ?
кстати я думаю в форуме можно и на ты,
всё таки все мы тут одной крови программерской
P.S. хвала товаришу ValeraS !
Edward_K спасибо за предоставленную информацию
(Галактика 5.73)
может поделится кто ?
кстати я думаю в форуме можно и на ты,
всё таки все мы тут одной крови программерской
P.S. хвала товаришу ValeraS !
Edward_K спасибо за предоставленную информацию
[url=http://blog.gtalex.ru]Блог GTAlex[/url]
-
- Посетитель
- Сообщения: 46
- Зарегистрирован: 29 мар 2005, 17:49
Re: exclassseg & exclassier
<HTML>PickExClassifier
Parameters
wObjType : word // внутренний код таблицы, напрмер coKatOrg, cokatPodr, co...
lClassSeg : comp // значение классификационного кода (возвращаемый)
UniqFeat : word //уникальность (возвращаемый)</HTML>
Parameters
wObjType : word // внутренний код таблицы, напрмер coKatOrg, cokatPodr, co...
lClassSeg : comp // значение классификационного кода (возвращаемый)
UniqFeat : word //уникальность (возвращаемый)</HTML>
-
- Местный житель
- Сообщения: 517
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Новосибирск Новосибирск
- Контактная информация:
Re: exclassseg & exclassier
FORUMMASTER спасибо
не секрет откуда такая информация ?
всё из каталога FRM ?
не секрет откуда такая информация ?
всё из каталога FRM ?
[url=http://blog.gtalex.ru]Блог GTAlex[/url]
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: exclassseg & exclassier
а я и не присваиваю себе авторство - потому и привел без разьяснений.
если я здесь приведу свой кусок то так и напишу - отрывок мой .
а каталог frm поставляется вместе с галой - наверное его просто грохнули после установки. Кроме того есть возможность посмотреть формы прям из галы.
пишешь в Galnet.cfg
[Forms]
Fcenv=On
после этого в настройке формы появляется кнопочка F4
более подробно можно глянуть в параметрах конфигуратора или в доке
если я здесь приведу свой кусок то так и напишу - отрывок мой .
а каталог frm поставляется вместе с галой - наверное его просто грохнули после установки. Кроме того есть возможность посмотреть формы прям из галы.
пишешь в Galnet.cfg
[Forms]
Fcenv=On
после этого в настройке формы появляется кнопочка F4
более подробно можно глянуть в параметрах конфигуратора или в доке
-
- Местный житель
- Сообщения: 517
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Новосибирск Новосибирск
- Контактная информация:
Re: exclassseg & exclassier
про Fcenv то я знаю (если бы не знал то испытательный срок и не прошел бы т.к. каталог FRM наверно после установки всё таки грохнули)
но Fcenv=On дает возможность просматривать только линк формы, а например тот код который ты привел не выцепиш.
на счёт
>более подробно можно глянуть в параметрах >конфигуратора или в доке
далеко ходить не будем - допустим где я мог бы посмотреть параметры для фейса PickExClassifier ?
просто чем лишний раз сюда вопросы бросать я бы конечно сам глянул где нужно, токо вот незнаю где
на счёт каталога FRM - может кто нибудь зальёт мне на мыло ? (ессно у кого исходящий инет халявный) - буду очень благодарен
(желательно к версии 5.73 - ну за неимением такой можно и к более свежей версии)
но Fcenv=On дает возможность просматривать только линк формы, а например тот код который ты привел не выцепиш.
на счёт
>более подробно можно глянуть в параметрах >конфигуратора или в доке
далеко ходить не будем - допустим где я мог бы посмотреть параметры для фейса PickExClassifier ?
просто чем лишний раз сюда вопросы бросать я бы конечно сам глянул где нужно, токо вот незнаю где
на счёт каталога FRM - может кто нибудь зальёт мне на мыло ? (ессно у кого исходящий инет халявный) - буду очень благодарен
(желательно к версии 5.73 - ну за неимением такой можно и к более свежей версии)
[url=http://blog.gtalex.ru]Блог GTAlex[/url]
-
- Местный житель
- Сообщения: 783
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Москва
- Контактная информация:
Re: exclassseg & exclassier
При работе с внешними атрибутами и внешней классификацией есть неудобный момент. Создаем например в каталоге ОС инв. карточку. Присваиваем ей либо внеш.атрибут либо внеш.классификацию. Потом удаляем карточку. А вот в таблице внеш.атрибутов или классификатора (AttrVal и ExClassVal) остается "мусор" со ссылкой "в никуда".
Вот, например, когда удаляется какой-нить документ, то удаляются и записи с ним связанные (при удалении бух.справки удаляются записи из PlPor, BaseFin, SoprHoz и т.д.).
А про внешние атрибуты и внешнюю классификацию разработчики проcто забыли. Руки дойдут - напишу в техподдержку.
Вот, например, когда удаляется какой-нить документ, то удаляются и записи с ним связанные (при удалении бух.справки удаляются записи из PlPor, BaseFin, SoprHoz и т.д.).
А про внешние атрибуты и внешнюю классификацию разработчики проcто забыли. Руки дойдут - напишу в техподдержку.