Lotsia PLM: Форум по семейству систем PLM/PDM/TDM/ERP/Workflow

Для специалистов по внедрению систем, профессиональных администраторов и пользователей.
Текущее время: 17 июл 2018, 07:08

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
СообщениеДобавлено: 22 янв 2009, 10:18 
Не в сети
Активный участник
Аватара пользователя

Зарегистрирован: 24 авг 2006, 08:06
Сообщения: 1646
Откуда: 55.745578,37.665825
Благодарил (а): 8 раз.
Поблагодарили: 3 раз.
специально для СК :wink: :wink: :wink:

задача - заполнить 7 выпадающих списков данными в зависимости от текущего значения того или иного выпадающего списка (из этих 7ми) т.е. из Классификатора
и в зависимости от выбранных значений получить описание позиции
вот картинка
Вложение:
30.gif
30.gif [ 30.27 КБ | Просмотров: 19526 ]

1. Штатный Классификатор на объектах
минусы
- очень тормозной
- можно использовать только одно значение для одной позиции - а мне нужно для каждой позиции 3 минимум
2. Сделал классификатор на объектах
минусы
- очень тормозной ПРИЧЕМ - мы сделали view для скорости - еще что-то - но никак 8 сек на 200 позиций хоть убейся!
плюсы
- можно использовать несколько значений для одной позиции
вот типа этого
Вложение:
31.gif
31.gif [ 6.53 КБ | Просмотров: 19526 ]

атрибутов здесь не видно - но они есть :wink:
в атрибуты входит
1. Англоязычное наименование позиции
2. Русскоязычное наименование позиции
3. Код позиции

отступление
у меня работа с классификатором проходит в 2 этапа
1й заполняю выпадающие списки и в зависимости от из текущих значений получаю код комбинации
например в таком виде - T00-15F3-11-00L2-14-15-00
2й в соответствии с кодом вытаскиваю из ini файла расшифровку позиции
например так
T00-15F3-11-00L2-14-15-00='&FromProdName -> &ProdName Upgrade, &LangR, сетевой, доп. лицензия &PNote'

вот теперь приступим :wink: :wink: :wink:
3й вариант классификатора на XML
минусы
- голову сломаешь пока поймешь что-же нужно там расположить... ну это везде так :wink:
плюсы
- 'высокая' скорость (2 сек на 200 позиций) (конечно зависит от объема инфы - но по любому быстрее чем в Лоции)
- можно использовать несколько значений для одной позиции
... продолжение следует

_________________

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный



Последний раз редактировалось Александр 22 янв 2009, 10:37, всего редактировалось 4 раз(а).

Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 22 янв 2009, 10:27 
Не в сети
Активный участник
Аватара пользователя

Зарегистрирован: 24 авг 2006, 08:06
Сообщения: 1646
Откуда: 55.745578,37.665825
Благодарил (а): 8 раз.
Поблагодарили: 3 раз.
формат XML довольно простой если не лезть слишком глубоко
т.е. узлы (=объекты) и атрибуты
в моем случае это выглядит так
Код:
<?xml version="1.0" encoding="UTF-8"?>
<TemplateList>
   <Template eName="Autodesk" rName="Autodesk" Code="00">
      <ChannelType eName="Commercial" rName="Коммерческий" Code="15">
         <ProductType eName="New" rName="Новый" Code="15">
            <ProductExtType eName="" rName="" Code="00">
               <LicenceType eName="..." rName="Без учета лицензии" Code="00">
                  <LicenceExtType eName="" rName="" Code="00">
                     <LicenceAddType eName="" rName="" Code="00"/>
                  </LicenceExtType>
               </LicenceType>
               <LicenceType eName="Single License Manager (SLM)" rName="Локальная лицензия" Code="14">
                  <LicenceExtType eName="" rName="" Code="00">
                     <LicenceAddType eName="" rName="" Code="00"/>
                  </LicenceExtType>
...

или еще вот кусочек оттуда
Код:
            <ProductExtType eName="Подписка на квартальное обновление" rName="Подписка на квартальное обновление" Code="15">
               <LicenceType eName="Single License Manager (SLM)" rName="Локальная лицензия" Code="14">
                  <LicenceExtType eName="..." rName="Чистая локальная лицензия" Code="00">
                     <LicenceAddType eName="" rName="" Code="00"/>
                  </LicenceExtType>
               </LicenceType>
               <LicenceType eName="Network License Manager (NLM)" rName="Сетевая лицензия" Code="15">
                  <LicenceExtType eName="1-5 seats" rName="1-5  рабочих мест" Code="03">
                     <LicenceAddType eName="" rName="" Code="00"/>
                  </LicenceExtType>
                  <LicenceExtType eName="6-20 seats" rName="6-20 рабочих мест" Code="04">
                     <LicenceAddType eName="" rName="" Code="00"/>
                  </LicenceExtType>
                  <LicenceExtType eName="21-50 seats" rName="21-50  рабочих мест" Code="05">
                     <LicenceAddType eName="" rName="" Code="00"/>
                  </LicenceExtType>

т.е. мы видим дерево (узел+3атрибута) - максимальная вложенность 7 уровней
по уровню на каждый список
XML - это простой текстовый файл с разметкой
в итоге мы можем делать поиск узлов, читать дочерние узлы, читать атрибуты, вобщем читать все что угодно и что немаловажно с помощью Лоции

этот файл узлы с атрибутами закрывает первую часть моей задачи - заполнение списков и получение кода комбинации
продолжение следует...

_________________

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный



Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 22 янв 2009, 10:32 
Не в сети
Активный участник
Аватара пользователя

Зарегистрирован: 24 авг 2006, 08:06
Сообщения: 1646
Откуда: 55.745578,37.665825
Благодарил (а): 8 раз.
Поблагодарили: 3 раз.
вторая часть - по уникальному коду получить расшифровку позиции
если раньше мы использовали формат ini файла, то с переходом на xml было ужасно лень писать его обработку в скриптах...
и мы недолго думая заменили формат ini на xml
типа вот так
ini файл
Код:
[T0] ;Шаблон Autodesk

;     ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Шаблон Autodesk

; *** Commercial Шаблон Autodesk

;     New
T00-15F1-15-00L1-14-00-00='&ProdName коммерческий, &LangR, локальный &PNote'
--T00-15F1-15-00L2-14-14-00='&ProdName коммерческий, &LangR, локальный,доп.лицензия &PNote'
T00-15F1-15-00L1-15-00-00='&ProdName коммерческий, &LangR, сетевой &PNote'
--T00-15F1-15-00L2-15-15-00='&ProdName коммерческий, &LangR, сетевой, доп.лицензия &PNote'
T00-15F1-15-00L1-00-00-00='&ProdName коммерческий, &LangR &PNote'

;     Trial (Demo)
T00-15F1-12-00L0-00-00-00='&ProdName &LangR Trial(Demo) &PNote'

;     Upgrade
T00-15F3-11-00L1-00-00-00='&FromProdName -> &ProdName Upgrade, &LangR &PNote'
T00-15F3-11-00L1-14-00-00='&FromProdName -> &ProdName Upgrade, &LangR, локальный &PNote'
--T00-15F3-11-00L2-15-15-00='&FromProdName -> &ProdName Upgrade, &LangR, локальный, доп.лицензия &PNote'
T00-15F3-11-00L1-15-00-00='&FromProdName -> &ProdName Upgrade, &LangR, сетевой &PNote'
--T00-15F3-11-00L2-14-15-00='&FromProdName -> &ProdName Upgrade, &LangR, сетевой, доп. лицензия &PNote'
T00-15F3-11-13L1-00-00-00='&FromProdName -> &ProdName Competiteve Upgrade &PNote'

xml файл
Код:
<?xml version="1.0" encoding="UTF-8"?>
<!-- -->
<!-- XML Source File    Created with SAPIEN Technologies PrimalScript 2007 -->
<!-- -->
<!-- NAME: -->
<!-- -->
<!-- AUTHOR: Alexandr Zaytsev -->
<!-- DATE  : 20.01.2009 -->
<!-- -->
<!-- COMMENT: -->
<!-- Формирование названий ПО по шаблонам -->
<!-- -->
<!-- ProdName- New полное название из прайса поставщика -->
<!-- ProdN- New сокращенное название из прайса поставщика -->
<!-- FromProdName- Upgrade/Exchange полное название из прайса поставщика -->
<!-- LangR- язык (русская транскрипция) -->
<!-- LangE- язык (английская транскрипция) -->
<!-- Box- тип упаковки -->
<!-- PNote- дополнительное описание позиции -->
<!-- CompanyName- полное наименование компании разработчика -->
<!-- LicExt- дополнительный тип лицензии-->
<!-- -->
<!-- Autodesk Commercial -->
<!-- New -->
<TemplateList>
   <channel>
        <item>
            <title>T00-15F1-15-00L1-14-00-00</title>
            <description>ProdName коммерческий, LangR, локальный PNote</description>
        </item>
       <item>
            <title>T00-15F1-15-00L2-14-14-00</title>
            <description>ProdName коммерческий, LangR, локальный,доп.лицензия PNote</description>
      </item>
      <item>
            <title>T00-15F1-15-00L1-15-00-00</title>
            <description>ProdName коммерческий, LangR, сетевой PNote</description>
      </item>
      <item>
            <title>T00-15F1-15-00L2-15-15-00</title>
            <description>ProdName коммерческий, LangR, сетевой, доп.лицензия PNote</description>
      </item>
      <item>
            <title>T00-15F1-15-00L1-00-00-00</title>
            <description>ProdName коммерческий, LangR PNote</description>
      </item>
<!-- Trial -->
      <item>
            <title>T00-15F1-12-00L0-00-00-00</title>
            <description>ProdName LangR Trial(Demo) PNote</description>
      </item>
<!-- Upgrade -->
      <item>
            <title>T00-15F3-11-00L1-00-00-00</title>
            <description>FromProdName -> ProdName Upgrade, LangR PNote</description>
      </item>
      <item>
            <title>T00-15F3-11-00L1-14-00-00</title>
            <description>FromProdName -> ProdName Upgrade, LangR, локальный PNote</description>
      </item>
      <item>
            <title>T00-15F3-11-00L2-15-15-00</title>
            <description>FromProdName -> ProdName Upgrade, LangR, локальный, доп.лицензия PNote</description>
      </item>

тут xml другого формата - без атрибутов - поскольку они не нужны
т.е. в xml можно использовать любые комбинации структур данных какие надо
продолжение следует...

_________________

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный



Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 22 янв 2009, 10:39 
Не в сети
Активный участник
Аватара пользователя

Зарегистрирован: 27 июл 2006, 22:17
Сообщения: 797
Откуда: Москва
Благодарил (а): 11 раз.
Поблагодарили: 12 раз.
Всё! Понял! Ты просто используешь XML как хранилище классификатора. А я-то подумал, что ты объектный классификатор каждый раз выгружаешь в XML, потом обратно считываешь из XML и все получается быстро :-))

_________________
"Лучше меньше, да лучше" (C)


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 22 янв 2009, 10:51 
Не в сети
Активный участник
Аватара пользователя

Зарегистрирован: 24 авг 2006, 08:06
Сообщения: 1646
Откуда: 55.745578,37.665825
Благодарил (а): 8 раз.
Поблагодарили: 3 раз.
да именно так :wink: как ВНЕШНЕЕ альтернативное хранилище
борюсь за каждую секунду - здесь выиграл аж целых 6 на каждую операцию
работает быстрее - однозначно
кроме того нам например нужен КЛАДР классификатор адресов России
если сделать его аналог в Лоции то мы умрем на 2000 тысячах комбинаций республика-область-город
между тем на xml такие классификаторы используются в web - odnoklassniki к примеру, и на других сайтах для локализации юзера и работаю в Реальном Времени!!!! и есть бесплатно! это однозначный прорыв в скорости :wink: (я имею в виду скорость привязанную к структуре данных Лоции - с проверками на права)

код к мастер классу показать? или и так все ясно? :wink: :wink:

_________________

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный



Последний раз редактировалось Александр 22 янв 2009, 11:04, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 22 янв 2009, 11:04 
Не в сети
Новый участник

Зарегистрирован: 03 сен 2008, 09:10
Сообщения: 4
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Идея с XML очень интересная. Идея 5 баллов
Но как я понимаю этот XML файл хранится у каждого пользователя на компьютере или вы расшарили этот файл в сети?
Ведь вроде хранить этот файл в БД не получится?


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 22 янв 2009, 11:09 
Не в сети
Активный участник
Аватара пользователя

Зарегистрирован: 24 авг 2006, 08:06
Сообщения: 1646
Откуда: 55.745578,37.665825
Благодарил (а): 8 раз.
Поблагодарили: 3 раз.
да :wink: у нас 2 варианта на случай сбоев
в обновлении Лоции на сети есть своя папка с шаблонами и прочими нашими файлами, вместе с этими
там же есть есть ini в котором прописано откуда брать файлы - из сети или из клиента
при очередном обновлении все копируется на клиентские места
и в зависимости от стабильности работы сети - я или юзер сам может изменить путь

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

хранить xml можно и в базе, у SQL2005 есть такой тип данных, но у Лоции вроде как не прописан :wink:
так что пока как внешние файлы :wink:

_________________

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный



Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 22 янв 2009, 11:15 
Не в сети
Новый участник

Зарегистрирован: 03 сен 2008, 09:10
Сообщения: 4
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Будем ждать, может пропишут :)


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 22 янв 2009, 11:16 
Не в сети
Активный участник
Аватара пользователя

Зарегистрирован: 21 окт 2005, 15:49
Сообщения: 123
Откуда: Белоруссия, Минск
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Александр, как всегда на высоте!!! Вот сижу и завидую... так как наши Заказчики работают не с самой последней версией лоции, а точнее 4.12 да и еще и сборочка... жутики... а ведь такие решения тоже упростили бы и им и нам жизнь.
Так что Саша, еще раз +100.

_________________
- А деньги?
- Какие деньги? - сказал Остап, открывая дверь. - Вы, кажется, спросили про какие-то деньги?
----------------------------------
SEO стало интересным


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 22 янв 2009, 11:18 
Не в сети
Активный участник
Аватара пользователя

Зарегистрирован: 24 авг 2006, 08:06
Сообщения: 1646
Откуда: 55.745578,37.665825
Благодарил (а): 8 раз.
Поблагодарили: 3 раз.
:wink:
ты хоть скажи +100 в какой валюте? :wink: :wink: :wink:
буду виртуально копить

ps
кстати на счет версии - можно и заработать на апгрейде - не так ли?
аргументы есть убойные! :wink:

_________________

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный



Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 22 янв 2009, 12:19 
Не в сети
Активный участник
Аватара пользователя

Зарегистрирован: 21 окт 2005, 15:49
Сообщения: 123
Откуда: Белоруссия, Минск
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
офтоп: +100 в граммах ))) Копи, копи... мот накопишь. А что касается апгрейда... то уже миллион раз уговаривали.. но никак... но попыток не оставляем... чтобы апгрейдик все же сделать...

_________________
- А деньги?
- Какие деньги? - сказал Остап, открывая дверь. - Вы, кажется, спросили про какие-то деньги?
----------------------------------
SEO стало интересным


Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB