Страница 1 из 1

после применения bounds не работают сортировки

Добавлено: 02 июн 2003, 20:24
AlexY
в кусоке кода
as select
if(word(substr(lpadch(listgood.articul,'0',20),20,1)) = 9,'З','Р'),
*
from
ListGood,katPodr
where
(( ListGood.cMC == KatMC.nRec and
ListGood.cOtpEd == KatOtpEd.nRec and
KatMC.cED == KatEd.nRec and
KatMC.cGroupMC == GroupMC.nRec and
byPodr == KatPodr.Nrec
))order by listgood.articul
order byArticul ListGood.Articul
order byNameMC ListGood.NameGoods
order byBarCode ListGood.BarCode
bounds bPodr = byPodr == ListGood.CPodr
;

до применения pushbounds все order работают нормально (сортируют как положено) как только в тексте доходит до pushboun он срабатывает, но потом все setorder не работают (никаких ошибок не выдается. все ОК только нет сортировки). может кто подскажет где сдесь собака порылась. за ранее спасибо

Re: после применения bounds не работают сортировки

Добавлено: 03 июн 2003, 07:52
Goblin
Собака порылась в логической таблице- все подцепки, ограничения и сортировки(почти все) индексные, но нет у ListGood таких индексов , чтоб в старшем сегменте CPodr для Bounds'ов был, а в младшем NameGoods или BarCode для сортировки ... Попробуй через идентификатор External разве что сортировку

Re: после применения bounds не работают сортировки

Добавлено: 03 июн 2003, 08:58
ecasoft
Понятия установления ограничений и порядок - понятия зависимые,т.к. базируются на одном понятии - индексы таблиц. Поэтому конечно установление ограничений портит порядок. Это же не SQl. :)

Сортировки не ПОЧТИ, а ВСЕ индексные...Если не индексные, то на внешней выгрузке выполняются...НО это подходит только для отчетов. Для интерфейсов не подойдет.

Замените Bounds на Соndition и в нем == на =.

Игорь

Re: после применения bounds не работают сортировки

Добавлено: 03 июн 2003, 12:07
AlexY
дело в том что, все индексы которых небыло в listgood я добавил (в том числе и индекс где первое поле cPodr)

Re: после применения bounds не работают сортировки

Добавлено: 03 июн 2003, 12:46
AlexY
2 Косякин Игорь: спасибо, condition помог.

Re: после применения bounds не работают сортировки

Добавлено: 03 июн 2003, 16:42
ecasoft
Alexy - добавление новых индексов может испортить стандартные интерфейсы Галактики,т.к. индексы обычно подбираются автоматически на этапе выполнения (если не задано явно в коде). После такого надо проверять все интерфейсы, которые работают с данной таблицей, по идее. И если чего глюкнет, то в техподдержку уже не позвонить, т.к. за такое уже Галактика отвественности не несет.

Чего-то написав это вспомнился анекдот..."За вещи оставленные в раздевалке, а также за вещи оставленные вне раздевалки...и вообще ни за администрация отвественности не несет" :)

Re: после применения bounds не работают сортировки

Добавлено: 03 июн 2003, 19:50
Vitas
>> добавление новых индексов может испортить стандартные интерфейсы Галактики

Я думаю, что это не совсем точно, так как если индексы не указаны прямо, то они подбираются по подцепкам, указанным в запросе (что в принципе тоже есть автоматически), но добовление своего индекса может повлечь за собой небольшие отклонения только в том случае, если они частично (вернее их первые составляющие) совпадают с имеющимеся.
Кстати, стоит отметить, что в принципе оставлять выбор индексов на произвол интерпритатора есть не этично с точки зрения программирования, т.е. я считаю, что было бы правильнее всегда индексы указывать явно в коде, что бы не было недорозумений с дольнейшими доработками, а иначе зачем было вообще давать возможность добавлять свои индексы?

Хотя может в чем-то я и ошибаюсь :)

Re: после применения bounds не работают сортировки

Добавлено: 04 июн 2003, 11:05
Maverick
Проверено
а) можно без проблем добавлять свои сегменты индеса, при условии что они являются младшими по отношению к стандартым сегметам
б) если добавить сегмент индекса старшим или в середину индекса, то 1.нарушится порядок сортировки в интерфейсах ( а равно и в отчетах) 1.возможна некорректная работа алгоритмов, использующих для пробежки по таблам свой индекс
в) можно без проблем клепать свой - новый индекс при следующих условиях:
На любую таблицу может быть не более 119 сегментов, размер всех сегментов одного индекса - не более 225 байт, т.е.
максимально под индексы таблы отводится 30 345 байт.
Данные об ограничениях на индексы таблы получены от системных програмеров корпорации, посему их можно считать официальными

Re: после применения bounds не работают сортировки

Добавлено: 05 июн 2003, 14:34
ecasoft
Я написал МОЖЕТ привести...я так понял все с этим согласились :)

Но то, что ДОБАВЛЯТЬ БЕЗ ПРОБЛЕМ - это противоречит тому, что может привести...:)

И надо понимать, что проблемы могут быть в следующих местах: отчеты, интерфейсы, конвертор в следующие версии. Также надо понимать, что добавление новых индексов увеличивает время занесения и изменения информации в таблицах. Если БД большие, то может быть СУЩЕСТВЕННОЕ увеличение.

Насчет того, что давать интерпритатору подбирать - верно конечно. Но надо учитывать, что код Галактики разрабатывался с конца 1994 года..на разных версиях Атлантиса. Это сейчас понятно, что надо было бы...А тогда, когда все это не было такой главной задачей..Наоборот, старались делать такие средства в ВИПе, которые освобождали разработчика от рутинных операций. К примеру, в первых версиях ВИПа..поля таблиц указывали БЕЗ наименования, если у таблицы не было синонимов и не было других таблиц с такими полями. Это осталось и сейчас...Зайдите по Ctrl+F4 - там есть поля без имени талицы. Все это осталось с тех пор.

Так что...насчет этичности я не очень согласен..просто конечно со стороны кажется все проще. :) Дело не в этике, а просто есть определенное развитие, на котором уже начинаешь делать правильнее. Такое появляется не сразу..Это нормально

Re: после применения bounds не работают сортировки

Добавлено: 07 июн 2003, 17:51
Vitas
>>И надо понимать, что проблемы могут быть в следующих местах: отчеты, интерфейсы, конвертор в следующие версии

Естественно будут, если на обум клипать теже индексы (это про отчеты и фейсы), на счет конверторов: тут смотря как подойти к конвертации, если охото стандартным конвертором все перекидывать, тогда да, не стоит изменять словарь, но если изменил, то будь готов к тому, что прийдется подправить и "скрипты" конвертора.

>>Но надо учитывать, что код Галактики разрабатывался с конца 1994 года..на разных версиях Атлантиса

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

>>Дело не в этике, а просто есть определенное развитие, на котором уже начинаешь делать правильнее

Согласен, но я больше чем уверен, что руководство такой компании по разработке комерческого продукта должно смотреть в будущее. Как вариант: могли бы переписать существующее с учетом полученных опыта и возможностей новых версий. Согласен, сложно, но можно, хотя стоит отметить, что среда разработки и так получилась довольно таки хорошей ;)

Re: после применения bounds не работают сортировки

Добавлено: 07 июн 2003, 17:55
Vitas
>>И надо понимать, что проблемы могут быть в следующих местах: отчеты, интерфейсы, конвертор в следующие версии

Естественно будут, если на обум клипать теже индексы (это про отчеты и фейсы), на счет конверторов: тут смотря как подойти к конвертации, если охото стандартным конвертором все перекидывать, тогда да, не стоит изменять словарь, но если изменил, то будь готов к тому, что прийдется подправить и "скрипты" конвертора.

>>Но надо учитывать, что код Галактики разрабатывался с конца 1994 года..на разных версиях Атлантиса

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

>>Дело не в этике, а просто есть определенное развитие, на котором уже начинаешь делать правильнее

Согласен, но я больше чем уверен, что руководство такой компании по разработке комерческого продукта должно смотреть в будущее. Как вариант: могли бы переписать существующее с учетом полученных опыта и возможностей новых версий. Согласен, сложно, но можно, хотя стоит отметить, что среда разработки и так получилась довольно таки хорошей ;)

Re: после применения bounds не работают сортировки

Добавлено: 07 июн 2003, 20:31
ecasoft
>>Согласен, но я больше чем уверен, что руководство такой компании по разработке комерческого продукта должно смотреть в будущее.

Компании???? :) В 1994 году вся фирма Галактика, когда я туда пришел, в Москве размещалась в одной(!) комнате. Программисты получали по 200 баксов. Сотруников было 20-30 человек. Из них программеров было наверное человек 6. Ну еще в Минске несколько человек. Я например и представить не мог, что все это выростит в корпорацию))) Поэтому тогда гигантоманией и большими перспективами никто не мучился))) Надо было создать продукт и попытаться продать его на рынке. Вот в отношении умения занять рынок, я считаю, заслужа руководства тогда - просто огромная. Да и системные программисты молодцы. Закладываться тогда во всем на долго просто было экономически нецелесобразно наверное. Потом конечно правили много, но все равно осталось.

Re: после применения bounds не работают сортировки

Добавлено: 09 июн 2003, 14:23
Vitas
>> Закладываться тогда во всем на долго просто было экономически нецелесобразно наверное. Потом конечно правили много, но все равно осталось

Правили или ставили закладки :)

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

А программисты конечно там хорошие, тут спорить не о чем, вот палитика корпорации "не правильная", это точно

Re: после применения bounds не работают сортировки

Добавлено: 09 июн 2003, 15:27
Vitas
закладки = заплатки

Re: после применения bounds не работают сортировки

Добавлено: 10 июн 2003, 13:20
ecasoft
Я не очень лезу в политику фирмы - это дело ее учредителей. Трудно понять их планы, поэтому и осуждать политику фирмы я не могу. Это же бизнес. Разработка коммерческого софта очень отличается от разработки просто, классической, той которой меня учили в ВУЗе.
До Галатики я разработывал сам или в небольшом коллективе. Но как я понял уже в Галактике - это совсем другое понимание. Когда систему разработывает много людей - с одной стороны. И еще когда надо всегда выбирать - делать правильнее, но дольше и пока без денег или делать может не совсем правильнее, но добиться быстрейшего получения финасов. Когда нет текущих финансов, то уже нет смысла думать о перспективах продукта - людям нужно платить всегда деньги. Они не будут работать за идею или за то, что когда то будет лучшая система и мы получим несметные богатства за нее :)
Поэтому всегда компромис между соблюдением теории разработки и реальным, быстрым получением прибыли. И неизбежны тут потери качества продукта. Но если фирма развивается, то значит все же не такая уж и неправильная политика в Галактике. Хотя не идеальная - это бесспорно. Меня, как Партнера, с одной стороны устраивает, что в Галактике такое не идеальное (мягко говоря) сопровождение. Иначе как мне с ними конкурировать, когда мы оба в Москве. Хотя мы партнеры, но клиенты у нас по сопровождению - одни же :)