Форум пользователей Visio
http://visio.getbb.ru/

как обновляются ячейки ShapeSheet
http://visio.getbb.ru/viewtopic.php?f=5&t=820
Страница 1 из 1

Автор:  vin [ 22 авг 2015, 13:33 ]
Заголовок сообщения:  как обновляются ячейки ShapeSheet

В трафарете в свойствах документа есть ячейка

TheDoc!User.FontSize

В трафарете один мастер - простой прямоугольник. В нем:

User.Row_1 = SETF(GetRef(TheDoc!User.FontSize),Char.Size)

Т.е. я хочу, чтобы изменение шрифта прямоугольника попадало в ячейку документа.

Так вот, если я редактирую сам мастер, то при изменении шрифта ячейка документа обновляется.
А если я переношу мастер на документ, то ячейка документа не обновляется.

Почему? И как сделать так, чтобы она обновлялась?

Вложения:
TestFontSize.rar [5.79 Кб]
Скачиваний: 107

Автор:  Surrogate [ 24 авг 2015, 01:05 ]
Заголовок сообщения:  Re: как обновляются ячейки ShapeSheet

так у меня работает

Вложения:
Комментарий к файлу: например
123.ZIP [28.85 Кб]
Скачиваний: 118
123.png
123.png [ 5.48 Кб | Просмотров: 1583 ]

Автор:  vin [ 24 авг 2015, 10:35 ]
Заголовок сообщения:  Re: как обновляются ячейки ShapeSheet

Браво!

Строка:
Код:
=IF(NOT(STRSAME(User.docvalue,User.charsize)),SETF(GetRef(TheDoc!User.charsize),Char.Size),SETF(GetRef(TheDoc!User.charsize),Char.Size))

конечно меня убила, но это действительно работает!
Я проверил, работает и без дополнительных переменных:
Код:
=IF(NOT(STRSAME(TheDoc!User.charsize,Char.Size)),SETF(GetRef(TheDoc!User.charsize),Char.Size),SETF(GetRef(TheDoc!User.charsize),Char.Size))


Спасибо. Еще один урок для меня: когда прямые ссылки в Visio не работают (почему-то!) - нужно делать дополнительную формулу сравнения для инициализации действия.

Автор:  Surrogate [ 24 авг 2015, 11:13 ]
Заголовок сообщения:  Re: как обновляются ячейки ShapeSheet

Фокусу меня научил Digitall™
ты не обратил внимание в шаблоне visio_document.vss часто встречается формула if(0=0,setf,setf),
где в SETF одна и та же формула - в итоге по-любому в TheDoc будет «нужное» значение!

Автор:  Tanatos [ 19 июл 2016, 11:41 ]
Заголовок сообщения:  Re: как обновляются ячейки ShapeSheet

Возможно ли организовать взаимосвязь значений? При изменении TheDoc!User.charsize обновить Char.Size и наоборот при изменении Char.Size изменить TheDoc!User.charsize?
Идея в том, что поле TheDoc может измениться из нескольких мест, а в фигуре необходимо иметь актуальное значение, да еще и менять его ...
Фигура с возможностью напрямую изменять значение полей TheDoc в документе будет уникальной. Прочие фигуры меняют значение через Action.
P.S.
Можно как-то привязать вводимый в фигуру текст к полю данных? Отображение привязывается через меню "Вставка / Поле", но при вводе текста все рушится

Автор:  Surrogate [ 19 июл 2016, 11:47 ]
Заголовок сообщения:  Re: как обновляются ячейки ShapeSheet

а этот фокус мне показал 9rey
9rey в сообщении #6550 писал(а):
Surrogate
можно же через SETATREF: в Prop.Row_1 вписать SETATREF(TheDoc!User.ololo)
тогда ячейки Prop.Row_1, TheDoc.User.ololo свяжутся

Автор:  Tumanov [ 19 июл 2016, 12:47 ]
Заголовок сообщения:  Re: как обновляются ячейки ShapeSheet

По поводу SetAtRef самое подробное исследование - это наверное http://visguy.com/vgforum/index.php?top ... 8#msg26308
Причем не столько сам топик, сколько вложенные файлы.

Автор:  Surrogate [ 19 июл 2016, 13:01 ]
Заголовок сообщения:  Re: как обновляются ячейки ShapeSheet

Геннадий спасибо за ссылку, забыл про нее
выходил сейчас на перекур и вспомнил что уже делился здесь этой ссылкой и еще парой других, посвященных этой мистической функции
Surrogate в сообщении #6648 писал(а):
9rey в сообщении #6550 писал(а):
Surrogate
можно же через SETATREF: в Prop.Row_1 вписать SETATREF(TheDoc!User.ololo)
тогда ячейки Prop.Row_1, TheDoc.User.ololo свяжутся
на эту тему на форуме visguy выросло несколько веток с массой примеров:
What's with SETATREF anyway?
SetAtRef et al.
сообщение в ветке Change shape color as a function as input

Автор:  Surrogate [ 26 июл 2016, 12:35 ]
Заголовок сообщения:  Re: как обновляются ячейки ShapeSheet

про эту часть вопроса, мы совсем забыли откомментировать:
Tanatos в сообщении #9336 писал(а):
Можно как-то привязать вводимый в фигуру текст к полю данных? Отображение привязывается через меню "Вставка / Поле", но при вводе текста все рушится
да, текст затирает поле !

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/