|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
Начал только разбираться с коллекциями понравилась одна статья вызов типа Tables(’orders’).Fields(’order_date’).Caption За код не ругайтесь (только тест) Если получится буду потом причесывать Задача: Есть Нормативные документы (НД), которые обязательны к применению (R1, R2 , ...., R107) у каждого НД своя сфера (только легковые или только прицепы) + требования на уровне министерства (разные пункты в зависимости от категории ТС, двигателя, новые или б/у) занес все это в таблицу (прилагается) создаю класс условий Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145.
и на этапе добавления топлива (дизель/бензин) ругается, что такое свойство уже есть не могу понять почему? Наверное задал не ту коллекцию (FOR EACH loCategory IN loVehicle.Category) до этого все работает, и вызывается Код: sql 1. 2.
подскажите, что не так? и еще, месяц назад видел решение для просмотра коллекций в Дебагере сейчас не могу найти, может у кого есть ссылочка? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2016, 10:33 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
прошу прощения ругается не rikitiki(FOR EACH loCategory IN loVehicle.Category) а FOR EACH loCategory IN loVehicle.Category ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2016, 12:01 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
Немного разобрался Вот код, кому интересно (может кто посоветует, как сделать более эффективным?))) ) файл regulationsrequirem.prg Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145.
далее вызов Код: sql 1. 2. 3. 4. 5. 6. 7.
но возникает вопрос чисто из интереса возможно ли regulationsrequirem.prg засунуть в DLL если у меня там только объявление класса? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2016, 10:50 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
rikitiki, А можно подробнее цель изложить. Если это просто изучение коллекции, то ОК. Если для работы, то сильно смущает многое в коде. Особенно работа с конкретной таблицей. Скан в ините. По коду, о логике ваще не смог догадаться) Но.. .есть предположение, что что-то не то) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2016, 12:34 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
asdor, Суть такая: Есть орган по сертификации Дорожных транспортных средств (ОС ДТС) В страну завозят авто, ОС ДТС должен определить нормативные документы (НД) на соответствие которым нужно проверить ДТС, лаборатория проводит испытания и если ДТС соответствует ОС ДТС выдает сертификат, на основании которого регистрируют ДТС в ГАИ. НД - это ГОСТы, ДСТУ, Правила ЕЕК ООН, ОСТы (около 200), в Области применения этих НД описано к каким конкретно ДТС они относятся (только легковые, только мопеды, дизеля или прицепы определенной категории) Категорий ДТС - 17: M1, M2, M3, N1, N2, N3, O1, O2, O3, O4, L1, L2, ..., L7 + Министерство пишет различные приказы (за год может от 2 до бесконечности) в которых может прописать, что испытывать нужно не на весь конкретный НД, а только несколько пунктов (которые тоже зависят от ряда условий) или испытать мопеды по НД мотоциклов (потому как НД на мопеды нет), или новые авто может разделить на дорогие и не дорогие (просто Ужас!!!!!) Условия ((сертификация типа, новый авто, б/у, переоборудованный); (категория); (топливо:бензин, дизель, газ(3 вида), алкоголь, электро); (приказы Министерства)) Неизменные условия только (категория), остальные условия могут меняться Эксперт определяет эти все условия и подбирает НД. У меня есть база ,где эксперт выбирает только вариант и версию ДТС и автоматически формируются первых 3 условия, остается только Министерство. Раньше делал так: была таблица первое поле - обозначение НД, остальные поля название условий (где прописывал пункты) Но так как условия менялись быстро, достало добавлять новые поля в таблицу. Решил сделать загрузку всех условий при запуске программы Код: sql 1.
На форме есть EditBox (НД), туда записываю Код: sql 1. 2. 3. 4.
меняя лишь 'New', 'M1', 'Disel' - наглядно Код: sql 1.
Эксперт может редактировать EditBox (НД). Да забыл сказать, эксперт может не проводить испытания по определенным НД, если протокол на это, конкретное НД ему представил заявитель. вот такая вот "лапша" Если есть идеи лучше готов выслушать, так как уже немного достало это. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2016, 10:08 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
rikitiki, Описана некая специфика. В которую надо въезжать. Но рисуете некий класс... А класс, ИМХО - это некий уровень абстракции. Если все вполне конкретно, то можно и без класса, обойтись просто процедурами. Может с хранением что то не то. Попробуйте может нарисовать. Вот что вроде понял. Есть категории, у каждой категории, свой набор правил. Видимо выбрав определенную категорию, или что то не то... Путано объясняете. Забудьте пока про министерства. И попробуйте объяснить терминами БД. Как информация соотносится, Запутался где категории, где НР. Толи это одно и тоже ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2016, 22:44 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
Мне кажется вам не класс нужен, а правильная схема хранения. Из сущностей. Что понял. У вас есть набор НД. Есть список ДТС- он же категория? (придите к одной терминологии) Очевидно они связаны. Явно много ко многим. Так же шла речь о каких то условиях, экспертах... и пр. Так же, явно много лишних слов (какая разница, кто меняет, министерство, главк, или просто юзер) В общем, полагаю, вам стоит четко описать взаимоотношения между сущностями. Возможно и ни каких классов не нгужно будет, а надо просто уложить все в разумную схему хранения. Попробуйте объяснить все техническим языком. В процессе объяснения, самому может что от прояснится) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2016, 13:28 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
asdor, Примерно так (картинку прикрепил), но я так понимаю, нужно еще промежуточные таблицы например cat_fuel, cat_nd, и т.д. попробую сделать и отпишусь, что получилось ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2016, 09:55 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
rikitiki, Не забывайте о бритве Оккама))) Рисунок хорошо. Но он вряд ли что скажет, без понимания сущностей, и их связей. Попробуйте написать пояснения. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2016, 11:26 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
asdor, Вот, что у меня получилось Сущность заявка (номер заявки, дата заявки, код авто , ( код нормативка ?), …) Сущность авто ( код авто , марка, тип, вариант, версия, код категории , код топлива , масса, код состояния авто , …) Сущность категория ( код категори и, обозначение категории, мин. масса, мах. масса, мин. кол-во мест, мах. кол-во мест) Сущность топливо ( код топлива , название топлива) Сущность состояние авто ( код состояния авто , обозначение состояния авто) Сущность нормативка ( код нормативка , код НД , код пункт НД ) Сущность НД ( код НД , обозначение НД, название НД) Сущность Пункт НД ( код пункт НД , название пункта) Между таблицами НД и Пункт НД связь М:М поэтому ввел таблицу Нормативка (как ее привязать к заявке?) Связь между таблицей Заявка и Нормативка должна быть 1:М Между таблицами НД и Категория, НД и Топливо, НД и Состояние авто связь М:М, опять вводить промежуточные таблицы? такие же дела обстоят с таблицей Пункт НД может добавить в таблицу нормативка ( код категории , код топлива и код состояния )? у меня в голове уже каша, топчусь на месте, но выхода не вижу буду очень рад помощи ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2016, 09:41 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
rikitiki, Информации много... но "для размышления" ее нет) Вы предлагаете какое то свое видение чего то. А суть задачи... кроме вас никому не ясна. Давайте так попробуем. Вы упоминали эксперта. Это для него ПО? Бум звать его юзер) Далее... что ему надо? С чего он начинает? К нему приезжает авто, и он по нему что то ищет, или наоборот.? Опишите (вкратце) бизнес процесс При отношении М:М без третьей таблицы никак))) Но это вовсе не страшно. (особливо, если решите с однозначностью названий) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2016, 10:48 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
asdor, Приезжает авто. Експерт 1. составляет договор с владельцем. 2. регистрирует заявку. 3. Определяет состояние авто по заявке, свидетельству регистрации, таможенной декларации (новое, б/у, переоборудованное, незавершенное) 4. В зависимости от п.3 определяет характеристики авто: по свидетельству о регистрации, табличках на авто, одобрению типа, заявке (производитель, масса, вид топлива, кол-во сидений, марка, тип (легково, грузовой,прицеп,...) еще около 150 параметров) 5. В зависимости от массы, кол-ва сидений, типа авто, скорости, кол-ва колес, наличия двигателя, типа кузова, ... определяет категорию (определения категорий расписано в стандарте) 6. Выдает решение для лаборатории, где указывает нормативные документы на соотвествие которым нужно провести испытания (НД -зависят от категории, вида топлива, состояния авто + правил по сертификации) 7.по результатам испытаний выдает заключение (соответствует/не соответствует) 8 выдает сертификат в котором указывает (заявителя, авто с его хар-ками, нд, номера протоколов) Например НД (R58) относиться только к категории N2,N3,O2,O3,O4, но в зависимости от состояния авто на новые нужно испытывать на все пункты стандарта, а для б/у и переоборудованных только пункты Х.1-Х.12 и Раздел ХХ. Это нужно отобразить в решении. Есть НД (R67) которое распространяеться только на газовые авто или только на дизеля (R24) (также разные пункты для разных состояний авто и категорий) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2016, 12:50 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
Заявка на сертификацию ID идентификатор заявки ID_SER и т.д. Вид сертификации ID_SER Name новый авто, б/у, переоборудованный Тип топлива ID_GAZ Name бензин, дизель, газ(3 вида), алкоголь, электро Вид ТС ID_TS name легковые, мопеды, дизеля или прицепы определенной категории Нормативные документы (DOC) ID_DOC Name Наименование или тип НД ( ГОСТы, ДСТУ, Правила ЕЕК ООН, ОСТы) Nom Номер документа Date Дата документа Дополнительная таблица для DOC отношение DOC к DocP 1:M ID_DocP ID_DOC Идентификатор нормативного документа ID_TS Идентификатор ТС (на какой вид транспорта распространяется его действие) ID_GAZ Nom_PP Номер пункта НД по данному ТС (к примеру) rikitiki вот Вам примерная структура (уж насколько понял из Вашего объяснения) я бы сделал примерно так. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2016, 13:21 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
Rikitikiasdor, 5. В зависимости от массы, кол-ва сидений, типа авто, скорости, кол-ва колес, наличия двигателя, типа кузова, ... определяет Думается мне..., лучше создать справочник Авто , к примеру ВАЗ 2108, ВАЗ 1118, нисан **** и т.д. с их характеристиками (тип ТС, количество мостов, колес, тип двигателя и т.д.). В дальнейшем нужно будет только выбрать авто из справочника, указать его состояние. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2016, 13:45 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
Забыл написать. В решении несколько НД. Например:R13;R48(только количество и цвет);R43(п.п. 1.3-1,6; 2.1);R49 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2016, 13:53 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
Vik_FixRikitikiasdor, 5. В зависимости от массы, кол-ва сидений, типа авто, скорости, кол-ва колес, наличия двигателя, типа кузова, ... определяет Думается мне..., лучше создать справочник Авто , к примеру ВАЗ 2108, ВАЗ 1118, нисан **** и т.д. с их характеристиками (тип ТС, количество мостов, колес, тип двигателя и т.д.). В дальнейшем нужно будет только выбрать авто из справочника, указать его состояние. Так и есть, И работает, Проблема с НД, раньше прописывал жестко правила к конкретным "авто" в процедуре. Выходили изменения и я переписывал процедуры. Достало. + попадались уникальные авто- опять переписывал. Захотел создать нечто обобщенное поэтому придумал класс на основе коллекций и 1таблицы условий, чтобы автоматом формировалось все возможные варианты НД для каждого авто. Проблемка- когда НД десять терпимо, когда 150 злит, когда будет 300, меня пошлют. (имею ввиду время формирования класса) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2016, 14:09 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
Вот это оказалось самым инофрмативным. RikitikiТак и есть, И работает, Проблема с НД, раньше прописывал жестко правила к конкретным "авто" в процедуре. Выходили изменения и я переписывал процедуры. Достало. + попадались уникальные авто- опять переписывал. Захотел создать нечто обобщенное поэтому придумал класс на основе коллекций и 1таблицы условий, чтобы автоматом формировалось все возможные варианты НД для каждого авто. Проблемка- когда НД десять терпимо, когда 150 злит, когда будет 300, меня пошлют. (имею ввиду время формирования класса) Вот поверьте, ни при чем тут класс! Здесь нужно правильную схему БД создать, и не будет проблем. Итак есть авто и НД К 1 авто, приписано некое количество НД В случае изменения, некоторые связи пропадают, новые возникают. Ясно что связь М:М Так? Ясно, что при появлении нового авто, надо все прописать (а можно на клиенте копию сделать с близкого, и ее отредактировать) Как бы кажется все просто. Или что то не учли пока? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2016, 14:43 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
RikitikiПроблема с НД, раньше прописывал жестко правила к конкретным "авто" в процедуре. Выходили изменения и я переписывал процедуры. Достало. Вы пропустили первое моё сообщение, обратите внимание на структуру таблиц Doc и DocP. В таблице Doc описываются основные данные о НД (номер, дата, тип, наименование и т.д.), в таблице DocP описываются пункты НД предъявляемые к ТС с определенными характеристиками, Отношение Doc к DocP один ко многим. В результате получаем привязку не к модели автомобиля, а к его характеристикам. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2016, 14:46 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
Vik_FixRikitikiПроблема с НД, раньше прописывал жестко правила к конкретным "авто" в процедуре. Выходили изменения и я переписывал процедуры. Достало. Вы пропустили первое моё сообщение, обратите внимание на структуру таблиц Doc и DocP. В таблице Doc описываются основные данные о НД (номер, дата, тип, наименование и т.д.), в таблице DocP описываются пункты НД предъявляемые к ТС с определенными характеристиками, Отношение Doc к DocP один ко многим. В результате получаем привязку не к модели автомобиля, а к его характеристикам. Я не пропустил, но пока за рулем и не могу попробовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2016, 14:55 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
RikitikiЯ не пропустил, но пока за рулем и не могу попробовать. В общем получается, выбрав авто из справочника, мы уже знаем его характеристики, данные характеристики в дальнейшем используем в SQL запросе к таблице DocP и Doc, можно еще добавить поле дата окончания действия пункта НД (на случай его отмены или изменения, дабы сохранить историю). Но это все в общих чертах. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2016, 15:05 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
Судя из вашего описания. Интерес представляет начиная с п.4 В п.4 и п.5 Юзер Каким то образом (опыт!!!))) ), определят хар-ки авто. Полагаю, возможно вместо таблицы авто, можно использовать какую то иную сущность, которая собирает в себе эти хар-ки. Из вашего описания, следует, что у этой таблицы, неограниченное кол-во полей. В это наверное уперлись? Что здесь менять надо, и это достает. Можно хранить данные иначе. Есть табл. с характеристиками - features. Для начала всего 2 поля id,Name Есть таблица которая должна отображать сущность из п.4 и п.5 - categ 2 поля id,Name Теперь между ними создаем связь M:M -LinkFeatures В результате на любую категорию, можете назначить, произвольное кол-во хар-ик. К categ привязаны НД (или пункты НД непонятно) Видимо так же M:M Т.е. БП выглядит так. Определившись с хар-ками, выбрали строку катег, а по ней, подтягивается набор НД. Не все угадал?) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2016, 15:06 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
asdorВ п.4 и п.5 Юзер Каким то образом (опыт!!!))) ), определят хар-ки авто. Юзер - Ванга), он не правильно выразился, характеристики указаны в заявлении и приложенных к заявлению дополнительных документах. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2016, 15:15 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
asdorВот это оказалось самым инофрмативным. RikitikiТак и есть, И работает, Проблема с НД, раньше прописывал жестко правила к конкретным "авто" в процедуре. Выходили изменения и я переписывал процедуры. Достало. + попадались уникальные авто- опять переписывал. Захотел создать нечто обобщенное поэтому придумал класс на основе коллекций и 1таблицы условий, чтобы автоматом формировалось все возможные варианты НД для каждого авто. Проблемка- когда НД десять терпимо, когда 150 злит, когда будет 300, меня пошлют. (имею ввиду время формирования класса) Вот поверьте, ни при чем тут класс! Здесь нужно правильную схему БД создать, и не будет проблем. Итак есть авто и НД К 1 авто, приписано некое количество НД В случае изменения, некоторые связи пропадают, новые возникают. Ясно что связь М:М Так? Ясно, что при появлении нового авто, надо все прописать (а можно на клиенте копию сделать с близкого, и ее отредактировать) Как бы кажется все просто. Или что то не учли пока? Если считать,что "авто" в вашем понимании это набор только 3 атрибутов (категория, тип топлива, состояние авто) тогда верно. Я не хочу связывать НД и транспортное средство (ТС) (атрибуты:марка,версия,вариант,массы, ширина,...) Поскольку одинаковые ТС попадаются очень редко, а вот "авто"-постоянно. 5органов у каждого своя база, таблицы по нормативке сбрасываю им я. Прописывать локально -да, но все мне звонят и просят внести изменения. Иногда добиться чего хотят и где просто не реально. Поэтому Сам изучаю все законы и прописываю всем НД, поскольку сам эксперт. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2016, 15:15 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
Rikitiki, много неясных слов. авторЯ не хочу связывать НД и транспортное средство (ТС) (атрибуты:марка,версия,вариант,массы, ширина,...) Поскольку одинаковые ТС попадаются очень редко, а вот "авто"-постоянно. Уверен, вы понимаете что сказали. Я нет. автор5органов у каждого своя база, таблицы по нормативке сбрасываю им я. Прописывать локально -да, но все мне звонят и просят внести изменения. Иногда добиться чего хотят и где просто не реально. Поэтому Сам изучаю все законы и прописываю всем НД, поскольку сам эксперт. Это наверное просто крик души. К делу вряд ли относится) >Юзер - Ванга), он не правильно выразился, характеристики указаны в заявлении и приложенных к заявлению дополнительных >документах. Ну а какая разница? Где б они не были. Либо Вангует, либо еще как. Нам отсюда точно не видно. Никакого описания процесса в общем то нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2016, 15:42 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
asdorВ п.4 и п.5 Юзер Каким то образом (опыт!!!))) ), определят хар-ки авто. )))))))) если ТС стоял на учете (в любой стране), то есть имеется свидетельство регистрации- значит б/у если произвел замену агрегатов (официальное разрешение на переоборудование) - переоборудованный может быть новый, но имеется только рама и кабина - считается как незавершенный остальные - новые Просто накипело все это. Все требуют новую программу (изменились процедуры и условия), переделываю старую, но хочется сделать более универсально, поскольку еще одного такого перехода не переживу, и ..... застрял. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2016, 16:06 |
|
|
start [/forum/topic.php?fid=41&fpage=16&tid=1582034]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 154ms |
0 / 0 |