10.12.2012, 02:17 | #1 |
Участник
|
Доброго времени суток комрады!
Подскажите пожалуйста, можно ли как-нибудь обращаться к свойству MARK, других объектов. Ну к примеру пользователь на какой-то форме промаркировал записи, а я на другой форме хочу узнать, какие записи он промаркировал. Или например, записи промаркированы в табличке (ручками через Object Designer), а я с формочки хочу посмотреть, что же там промаркировано. Что-то я никак не найду способа и начинаю боятся, что это очередной фейл Нава, разуверьте меня пожалуйста. |
|
10.12.2012, 09:32 | #2 |
Участник
|
Это фейл вашего знания навика!
У записи в Ф5 есть методы под заголовком Mark: Mark(true|false) - поставить или удалить маркировку на запись, clearmarks - очистить маркировку всех записей и markedonly(true|false) - вкл/выкл отображения только маркированных. Обладая этими знаниям, остается получить только указатель на табличку формочки. Хинт: на большом кол-ве записей маркировку желательно запускать только с главным ключем. |
|
10.12.2012, 10:19 | #3 |
Участник
|
Цитата:
Сообщение от InTacto
Это фейл вашего знания навика! />/>/>
У записи в Ф5 есть методы под заголовком Mark: Mark(true|false) - поставить или удалить маркировку на запись, clearmarks - очистить маркировку всех записей и markedonly(true|false) - вкл/выкл отображения только маркированных. Обладая этими знаниям, остается получить только указатель на табличку формочки. Хинт: на большом кол-ве записей маркировку желательно запускать только с главным ключем. Т.е. похоже что марки каким-то образом привязываются к конкретным экземплярам объектов, отсюда и более узкий вопрос возникает, как обратиться к конкретному экземпляру? Ну вот открыта у меня 10 раз табличка Item, на каждом из экземпляров этой таблички свой набор маркировок, так вот, как мне обратиться к вполне конкретному экземпляру с вполне конкретным набором маркировок? |
|
10.12.2012, 10:32 | #4 |
Участник
|
Цитата:
Сообщение от Predatore
Не хотелось бы Вас разочаровывать, но я не настолько не знающий Навик. Всё то что Вы перечислили, мне прекрасно знакомо и всё это абсолютно не решает проблемы, которую я описал. Скажем так, даже находясь на форме связанной таблицы, я не могу этими средствами посмотреть марки связанной таблицы. Да да, у формы свои марки, у таблицы свои и если я открою ещё одну форму у неё будут свои и даже если ещё раз табличку открою, у неё тоже будут свои марки.
Код в студию, пожалуйста. |
|
10.12.2012, 11:02 | #5 |
Участник
|
Цитата:
Ну вот открыта у меня 10 раз табличка Item, на каждом из экземпляров этой таблички свой набор маркировок, так вот, как мне обратиться к вполне конкретному экземпляру с вполне конкретным набором маркировок?
Получить доступ извне к маркам на записях этой формы можно только написав функцию, которая Rec этой формы возвратит запрашивающей форме. Без этого никак.. Посредством сингл-инстанс кодеюнита скорее всего только можно.. А вообще интересно было бы узнать, для чего это нужно) Потому что способ реализации не очень.. |
|
10.12.2012, 11:19 | #6 |
Участник
|
10 открытых форм - это другая задача. У нас задача получить марки с формы, при чем это можно сделать только в модальном режиме формы, иначе как вы узнает, что пользователь уже отметил все что хотел и продолжите выполнять свой код.
Для 10 открытых форм есть другой метод. Изменить порядок вызова. Что бы вы там не делали начинаете это с запуска формы, получаете в форме марки от пользователя и передаете указатель на запись в нужную ф-цию . Тогда у вас разные экземпляры ф-ций, использующих марки, вместе с формами. Судя по всему вам нужно уточнить что же вы хотите получить. ЗЫ И не надо редактировать старые сообщения спустя 20 минут. Форум подразумевает другую форму общения. |
|
10.12.2012, 19:13 | #7 |
Участник
|
10 открытых табличек, не форм. С формами ешё не экспериментировал. И мне на самом деле не важно что их 10, мне с одной хотя бы получить. Код вечерочком скину, на работе сейчас слегка не до этого.
Но суть эксперимента поставившего меня в тупик следующая. У меня открыта табличка и формочка на этой табличке. И там и там я могу ставить независимые марки. ОК, теперь я хочу сделать на формочке MARKEDONLY (TRUE), но, для маркеров с таблички, т.е. на форме я вообще никаких маркировок не делаю, но хочу отобразить только маркированные записи из таблицы. Первое что пробую, это вызвать функцию MARKEDONLY с таблички, результат плачевный, но в принципе ещё не бедственный. Дальше, пробую через функцию на табличке посмотреть значение MARK у маркированной записи и оно FALSE! Потом ещё на всякий случай через переменную Rec беру на форме запись, которая в табличке промаркирована и смотрю её свойство MARK и оно, чёрт побери, тоже FALSE! Вот это уже бедствие. Собственно когда я сделал предположение об экземплярах, мне всё это показалось логичным, хоть и печальным. Что я собственно хочу, так это считывать марки с Object Designer и ставить их на него программно. Просто когда у меня с наскоку ничего не получилось, стало интересно исследовать этот вопрос глубже. Чем я и занялся. К слову сказать, я предполагаю что с формочек таки удастся выдернуть марки, т.к. Rec скорее всего и есть экземпляр формы. Между формами я не экспериментировал, т.к. полагал, что форму Object Designer я не найду. Я и сейчас так полагаю, но другого пути видимо нет, тем более что с формы на форму я то передам марки, а вот с таблицы их никак не получить. Ну т.е. может и есть способ, но я его не знаю. И прошу прощения, что через 20 минут отредактировал сообщение, когда через 20 минут у меня возникли новые мысли, обычно на форумах не принято плодить новые сообщения, если можно просто дописать в последнее. Тем более что я ничего в нём не изменил, а лишь дописал. Я не знал, что на этом форуме подразумевается другая форма общения. |
|
10.12.2012, 20:17 | #8 |
Участник
|
У меня нет слов одни эмоции с ваших экспериментов, рвущих шаблон, ну да ладно... В вашей ситуации лучше всего написать свою формочку Object Designera, да что там мелочиться, сразу оболочку для разработки и компилятор на сладкое. Даешь, Новые Васюки Вы так и не сказали что хотите сделать, а лишь описали реализацию части задачи. |
|
11.12.2012, 02:53 | #9 |
Administrator
|
даешь цель доработки!
|
|
11.12.2012, 18:15 | #10 |
Участник
|
Цитата:
Сообщение от InTacto
/> /> />
У меня нет слов одни эмоции с ваших экспериментов, рвущих шаблон, ну да ладно... В вашей ситуации лучше всего написать свою формочку Object Designera, да что там мелочиться, сразу оболочку для разработки и компилятор на сладкое. Даешь, Новые Васюки /> Вы так и не сказали что хотите сделать, а лишь описали реализацию части задачи. Формочку то Дизайнера написать не сложно, сложно наделить её функционалом Дизайнера, случайно не подскажете ли как реализовать кнопочку Design или New? Если подскажете, то это отличное предложение! А если не подскажете, то это не удачная попытка троллинга. Опыт мне подсказывает, что Вы меня всё-таки троллите... Вам не понравился очередной фейл Нава или просто настроение такое? Я хочу сделать именно то, что описал, управлять маркерами на форме Дизайнера. А цель доработки лежит на поверхности. Зачем нужны маркеры в Дизайнере? Ну, удобно отметить объекты с которыми работаешь и отображать только их, а ещё если нужно выгрузить кучу различных объектов, без маркеров вообще не обойтись. А вот если бы маркеры можно было ещё и сохранять или даже загружать извне, то не пришлось бы по многу раз выполнять одну и ту же нудную работу по маркировке объектов. Конечно же всё это можно решить и через версии, но через маркеры, согласитесь, получилось бы изящнее. Ладно, я понял, что в очередной раз наткнулся на стену. Нав - это очень уютненькая квартирка и мой любимый диван ну никак не хочет в ней помещаться, даже по диагонали Придётся обходится креслом |
|
11.12.2012, 19:05 | #11 |
Участник
|
Я вам написал ответ: сделать свой редактор, а так же компилятор или хотя бы синтаксический анализатор.
На сколько я понимаю похожие решение уже существуют со своими достоинствами и недостатками. Можно еще капнуть в сторону WinApi и работы с окнами, перехват событий и все такое. Цитата:
марков из таблички в форму) был бы верен, то я, например, выставляют в табличке товаров марки,а у пользователей они тоже должны появляются? если создано 100 форм, то во всех формах должны марки проставиться? Цитата:
потом найти, загрузить. 4 действия или одно изящней?. Опять фейл навика? Что вам мешает проставить в версии какой-нибудь признак и потом анализировать эту информацию в отчете, обрабатывая таблицу объектов. Все равно что нажимать ctrl+F1 + какая-то процедура сейва или несколько клавиш + отчет с сохранением результатов. С востановлением тоже можно придумать что-нибудь, проставляя признак в поле версии. |
|
13.12.2012, 02:54 | #12 |
Участник
|
Цитата:
Цитата:
Сообщение от InTacto
Я вам написал ответ: сделать свой редактор, а так же компилятор или хотя бы синтаксический анализатор.
На сколько я понимаю похожие решение уже существуют со своими достоинствами и недостатками. ... С востановлением тоже можно придумать что-нибудь, проставляя признак в поле версии. |
|
13.12.2012, 16:35 | #13 |
Участник
|
Маркирование - не единственный способ отметить нужные для выгрузки объекты. Можно ставить какую-либо метку в поле Описание.. Помечайте так нужные вам объекты. И тогда открывая базу каждый день "марки" не слетят. Достаточно будет поставить фильтр на поле Описание *моя метка* и нужные объекты останутся одни в почти опустевшем окне обжект дезайнера..
|
|