Форум пользователей Visio

Форум по вопросам применения и программирования в Visio
Текущее время: 29 мар 2024, 13:53

Часовой пояс: UTC + 3 часа [ Летнее время ]


Правила форума


При размещении файлов предпочтительным является формат vsd (а не vsdx/vsdm)
Размещая ваши вложения на форуме не используйте имена файлов содержащих кириллицу, в противном случае файл будет иметь имя .<расширение файла> !

Для форматирования ваших сообщений используйте BBCodes, описание используемых на форуме BBCodes.



Начать новую тему Ответить на тему  [ Сообщений: 54 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Контейнер и внешние данные
СообщениеДобавлено: 05 фев 2014, 05:14 
Не в сети
Новичок

Зарегистрирован: 29 ноя 2013, 05:43
Сообщений: 49
Использую Visio c: 2004
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Теперь еще один вопрос по связи с данными.
В Visio 2010 есть такая штука как контейнер:
Изображение
Привязываю его к внешним данным, все норм, данные привязываются:
Изображение
Потом пытаюсь отобразить на контейнере эти данные через Вставка->Поле->Данные фигуры, но ни одного поля данных нет:
Изображение
А должно быть так:
Изображение
Почему так?
Контейнер удобно использовать, потому как фигуры помещенные на него как бы группируются. Их например можно всей кучей перетаскивать, таща за контейнер.


Последний раз редактировалось Surrogate 05 фев 2014, 07:15, всего редактировалось 1 раз.
это отдельная тема например


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Контейнер и внешние данные
СообщениеДобавлено: 05 фев 2014, 07:46 
Не в сети
Новичок

Зарегистрирован: 29 ноя 2013, 05:43
Сообщений: 49
Использую Visio c: 2004
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Оп, уже перенесли оказывается. Спасиб.
Сори за оффтоп.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 06 фев 2014, 15:50 
Не в сети
Ветеран

Зарегистрирован: 06 май 2013, 13:01
Сообщений: 746
Откуда: Россия
Использую Visio c: 2013
Очков репутации: 18

Добавить очки репутацииУменьшить очки репутации
А настраиваемую формулу пробовал?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re:
СообщениеДобавлено: 06 фев 2014, 16:30 
Не в сети
Новичок

Зарегистрирован: 29 ноя 2013, 05:43
Сообщений: 49
Использую Visio c: 2004
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Qwertiy писал(а):
А настраиваемую формулу пробовал?

Не совсем понял, что имеется ввиду?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Контейнер и внешние данные
СообщениеДобавлено: 11 фев 2014, 09:55 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
добрался до офиса, где у меня стоит визио2010. глянул что за зверь этот контейнер!

итак нарисовал квадрат и треугольник (ID = 1 и ID = 2 соответственно), запихал это все в контейнер с ID = 3. Контейнеру добавил
пользовательские свойства ShapeData
Сам контейнер как оказалось содержит две группы Sheet.4 и Sheet.6, которые содержат еще по одному вложенному элементу. Что-то типа матрешки получается


выделил контейнер, жму Alt+F9, хочу вставить поле. У активной фигуры нет ShapeData, решил вывести ID. И мне вывело ID = 4

таким образом свойства добавляются в контейнер ID = N, а поле вставляется во вложенный шейп с ID = N + 1

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 11 фев 2014, 12:48 
Не в сети
Ветеран

Зарегистрирован: 06 май 2013, 13:01
Сообщений: 746
Откуда: Россия
Использую Visio c: 2013
Очков репутации: 18

Добавить очки репутацииУменьшить очки репутации
posix86749 писал(а):
Не совсем понял, что имеется ввиду?

То, что на твоём скриншоте подписано как Настраиваемая формула. Ну и =Prop.ИмяТвоегоСвойства туда. Именно имя, а не надпись.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Контейнер и внешние данные
СообщениеДобавлено: 11 фев 2014, 14:04 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
с учетом поста #p4483
настраиваемая формула будет =sheet.<ID контейнера>!prop.имятвоегосвойства

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Контейнер и внешние данные
СообщениеДобавлено: 11 фев 2014, 19:52 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 2253
Очков репутации: 100626

Добавить очки репутацииУменьшить очки репутации
Тоже немножко посмотрел структуру...
Пришел к следующим выводам:
1. Сам контейнер может содержать пользовательские данные, но отображать их не способен. При попытке вставить поле в контейнер оно автоматически вставляется во внутренний шейп заголовка контейнера. И отображается этим шейпом.
2. В контейнере два внутренних шейпа-группы: заголовок и основное поле.
Текст отображает группа-заголовок (не ее внутренний шейп).
3. Если хотим отобразить данные контейнера, то из внутреннего шейпа-группы должна идти ссылка наверх. Типа, =Sheet.3!Prop.Row_1
--
P.S. Смотрел в Visio 2013. Такое впечатление, что порядок создания внутренних шейпов в нем другой. Поэтому шейп заголовка в моем случае имел идентификатор 6, а не 4. (На 3 больше контейнера, а не на 1). То есть ориентироваться лучше не по идентификатору, а именно по назначению (заголовок).


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Контейнер и внешние данные
СообщениеДобавлено: 13 фев 2014, 06:12 
Не в сети
Новичок

Зарегистрирован: 29 ноя 2013, 05:43
Сообщений: 49
Использую Visio c: 2004
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Товарищи, всем спасибо за развернутые ответы.
Т.е. как я понял, если мне надо отображать данные контейнера, мне надо эти данные вносить не непосредственно в контейнер, а во вложенные шиты (их два). для вывода этих данных я попробовал использовать формулу: Sheet.2!Prop.data2
Изображение
В принципе все работает. И не важно в какой шит вкладывать данные (на картинке sheet2 sheet4).
Есть только один момент, мне не ясный:. Если в настраиваемую формулу вставлять формулу Sheet.2!Prop.data2, а потом нажать OK, то формула так и останеться в таком виде, а если внести формулу Sheet.4!Prop.data4, а потом нажать ОК, то у формулы откидывается часть Sheet.4:
Изображение
Момент не критичный, я думаю, но все же интересно.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Контейнер и внешние данные
СообщениеДобавлено: 13 фев 2014, 06:40 
Не в сети
Ветеран

Зарегистрирован: 21 окт 2011, 12:01
Сообщений: 939
Откуда: г. Екатеринбург
Использую Visio c: 2011
Очков репутации: 127

Добавить очки репутацииУменьшить очки репутации
может просто это ссылка на саму себя. вот и убирается)


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Контейнер и внешние данные
СообщениеДобавлено: 13 фев 2014, 11:09 
Не в сети
Новичок

Зарегистрирован: 29 ноя 2013, 05:43
Сообщений: 49
Использую Visio c: 2004
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
9rey писал(а):
может просто это ссылка на саму себя. вот и убирается)

Вот и я так же подумал, только сформулировать не мог:)


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Контейнер и внешние данные
СообщениеДобавлено: 13 фев 2014, 14:51 
Не в сети
Новичок

Зарегистрирован: 29 ноя 2013, 05:43
Сообщений: 49
Использую Visio c: 2004
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Товарищи, еще вопрос по контейнеру и данным.
Как бы отследить событие перемещения фигуры в контейнер.
Пример: есть фигура - сотрудник, у нее есть поле данных "Отдел", Перемещаем ее в контенер отдела, и этой фигуры поле "отдел" заполняется названием отдела. Как-то так.
Понимаю, что надо обрабатывать какое-то событие, но какое - не пойму, да и выбор их не особо велик.
Хотя неваерное не событие я должен ловить, а изменение какой-либо ячейки.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Контейнер и внешние данные
СообщениеДобавлено: 13 фев 2014, 15:11 
Не в сети
Ветеран

Зарегистрирован: 21 окт 2011, 12:01
Сообщений: 939
Откуда: г. Екатеринбург
Использую Visio c: 2011
Очков репутации: 127

Добавить очки репутацииУменьшить очки репутации
Relationships - посмотри эту ячейку контейнера. там инфа о шейпах внутри него


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Контейнер и внешние данные
СообщениеДобавлено: 17 фев 2014, 04:54 
Не в сети
Новичок

Зарегистрирован: 29 ноя 2013, 05:43
Сообщений: 49
Использую Visio c: 2004
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Коллеги, видать мне знаний не хватает, не могу понять как сделать, то что я хочу
Есть контейнер, у одного из его шитов прописано поле данных, вывел его в заголовок контейнера
Изображение
В контейнер вложена фигура.
Ради проверки в фигуру вывел значение высоты контейнера:
Изображение
Это сработало. Но это все проверка.
Потом попытался в фигуре вывести значение поля данных контейнера - тут я застопорился.
Изображение
Не могу составить формулу.
Записи типа container1.6!prop.department visio не понимает.
И тем более мне надо что бы, как я писал выше, при помещении фигуры в контейнер данные из контейнера автоматически прописывались в в данные фигуры.
Ячейку relationsheep видел, но что с ней делать - не ясно.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Контейнер и внешние данные
СообщениеДобавлено: 17 фев 2014, 08:22 
Не в сети
Ветеран

Зарегистрирован: 21 окт 2011, 12:01
Сообщений: 939
Откуда: г. Екатеринбург
Использую Visio c: 2011
Очков репутации: 127

Добавить очки репутацииУменьшить очки репутации
я не спец по шейпшиту, но мне кажется тут все немного сложнее.
можно у фигуры, помещаемой в контейнер, прописать например в секции User формулу типа: SETF(GETREF(Prop.Row_1), X) + DEPENDSON(Relationships)
теперь при помещении фигуры в контейнер у фигуры будет меняться ячейка Relationships и соответственно срабатывать формула SETF(GETREF(Prop.Row_1), X), где Prop.Row_1 - предварительно созданная тобой ячейка в фигуре, куда будет выводится заголовок;
"X" некая формула, которая должна вытаскивать из ячейки Relationships тот самый заголовок, а формула SETF будет его писать в Prop.Row_1.
это самое "X" можно вытащить, "распарсив" формулу в Relationships:
наример: SUM(DEPENDSON(4,Container 5!SheetRef()))
создаем 2 вспомогательные ячейки в секции User - N1 и N2.
в первой пишем "Find(",", Relationships)" - ищем запятую в строке "SUM(DEPENDSON(4,Container 5!SheetRef()))"
в другой пишем "Find("!", Relationships)" - ищем "!" там же.
тогда сам формула X будет примерно такой:
MID(Relationships, User.N1, User.N2-User.N1)
получится ссылка на контейнер "Container 5"
дальше уже вытащить заголовок не очень сложно будет.

все это сам не проверял)


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Контейнер и внешние данные
СообщениеДобавлено: 20 фев 2014, 05:58 
Не в сети
Новичок

Зарегистрирован: 29 ноя 2013, 05:43
Сообщений: 49
Использую Visio c: 2004
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
9rey писал(а):
я не спец по шейпшиту, но мне кажется тут все немного сложнее.
можно у фигуры, помещаемой в контейнер, прописать например в секции User формулу типа: SETF(GETREF(Prop.Row_1), X) + DEPENDSON(Relationships)
теперь при помещении фигуры в контейнер у фигуры будет меняться ячейка Relationships и соответственно срабатывать формула SETF(GETREF(Prop.Row_1), X), где Prop.Row_1 - предварительно созданная тобой ячейка в фигуре, куда будет выводится заголовок;
"X" некая формула, которая должна вытаскивать из ячейки Relationships тот самый заголовок, а формула SETF будет его писать в Prop.Row_1.
это самое "X" можно вытащить, "распарсив" формулу в Relationships:
наример: SUM(DEPENDSON(4,Container 5!SheetRef()))
создаем 2 вспомогательные ячейки в секции User - N1 и N2.
в первой пишем "Find(",", Relationships)" - ищем запятую в строке "SUM(DEPENDSON(4,Container 5!SheetRef()))"
в другой пишем "Find("!", Relationships)" - ищем "!" там же.
тогда сам формула X будет примерно такой:
MID(Relationships, User.N1, User.N2-User.N1)
получится ссылка на контейнер "Container 5"
дальше уже вытащить заголовок не очень сложно будет.

все это сам не проверял)


С функцией Setf (getf...)... поигрался. Пригодится.
Но вот с данными контейнера проблемы остались.
Видать я не до конца понимаю идеологию контейнера.
Значит так. Создаем контейнер. В нем автоматически есть два вложенных шейп шита. Причем номера этих шитов заранее предугадать нет возможности.
Из этого следует записывать данные в эти шиты будет не совсем корректно, потому как нельзя их будет извлечь оттуда.
Значит вывод: данные надо писать непосредственно в контейнер. И вот тут начинается самое интересное.
Создал контейнер, назвал его Cont1. Создал в нем поле данных Cont1Data1
Цитата:
Кстати, так и не нашел, где в таблице свойств фигуры отображается ее имя? Это тоже вопрос.

Изображение
Нарисовал произвольную фигуру квадрат. Хочу что бы в тексте квадрата отображалось поле данных контейнера. Вставляю в текст квадрата настраиваемую формулу:
Код:
=Cont1!Prop.cont1data1

Работает:
Изображение
Пытаюсь то же самое проделать с контейнером, т.е. хочу вывести в его текст его же поле данных. Пытаюсь ввести такую же формулу, но автоподстановка не срабатывает, как будто объекта cont1 не существует.
Вот как это было в квадрате:
Изображение
а вот как это происходит для контейнера:
Изображение
Я так понимаю, что бы контейнер мог так сделать, надо указывать не конструкцию "cont1", а какую-то другую... а вот какую...хз
Если произвольную фигуру поместить в этот контейнер и попытаться вывести в ее текст данные контейнера, то все тоже получается без проблем.
Вот такая штука... в общем странная конструкция этот контейнер


Последний раз редактировалось posix86749 20 фев 2014, 10:26, всего редактировалось 2 раз(а).

Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Контейнер и внешние данные
СообщениеДобавлено: 20 фев 2014, 07:23 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
posix86749 писал(а):
Я так понимаю, что бы контейнер мог так сделать, надо указывать не конструкцию "cont1", а какую-то другую... а вот какую...хз
еще в 2003 версии визио (где не было контейнеров), я обратил внимание что для некоторых шейпов можно писать в шейпшите формулу типа cont1!cellreference и все OK. Для некоторых катит только формула sheet.N!cellreference. При дальнейшем открытии шейпшита эта формула иногда вдруг заменяется на 'cont1'!cellreference, почему это происходит я так и не понял…
posix86749 писал(а):
в общем странная конструкция этот контейнер
действительно, поэтому я практически не использую

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Контейнер и внешние данные
СообщениеДобавлено: 20 фев 2014, 09:11 
Не в сети
Ветеран

Зарегистрирован: 21 окт 2011, 12:01
Сообщений: 939
Откуда: г. Екатеринбург
Использую Visio c: 2011
Очков репутации: 127

Добавить очки репутацииУменьшить очки репутации
Цитата:
Кстати, так и не нашел, где в таблице свойств фигуры отображается ее имя? Это тоже вопрос

есть такая функция ID() - возвращает свой номер
имя не нужно

PS если очень надо имя, то ф-я NAME()


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 20 фев 2014, 18:02 
Не в сети
Ветеран

Зарегистрирован: 06 май 2013, 13:01
Сообщений: 746
Откуда: Россия
Использую Visio c: 2013
Очков репутации: 18

Добавить очки репутацииУменьшить очки репутации
posix86749 писал(а):
но автоподстановка не срабатывает

А если не ждать автоподстановку, а написать руками?

posix86749 писал(а):
=Cont1!Prop.cont1data1

Для самой фигуры можно не писать её имя, т. е. просто =Prop.cont1data1

Surrogate писал(а):
заменяется на 'cont1'!cellreference

Потому что там есть пробелы или ещё какие-то символы, отличные от буквенно-цифровых?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re:
СообщениеДобавлено: 20 фев 2014, 18:05 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Qwertiy писал(а):
Surrogate писал(а):
заменяется на 'cont1'!cellreference

Потому что там есть пробелы или ещё какие-то символы, отличные от буквенно-цифровых?
никаких спецсимволов!

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 54 ]  На страницу 1, 2, 3  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]



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

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


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

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Вы можете создать форум бесплатно PHPBB3 на Getbb.Ru, Также возможно сделать готовый форум PHPBB2 на Mybb2.ru
Русская поддержка phpBB