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

Одинаковые формулы в двух шейпах - разное поведение
http://visio.getbb.ru/viewtopic.php?f=5&t=1026
Страница 3 из 3

Автор:  Vytos [ 27 сен 2016, 07:32 ]
Заголовок сообщения:  Re: Одинаковые формулы в двух шейпах - разное поведение

Ну, собственно, вот и получилось всё.
Шейп еще не доделан, но в нем все работает как надо.
Добавится 12 списков в User с артикулами и ячейки с формулой их подстановки.
Останется корректно заполнить нужными данными все списки и всё :)
Ну и еще там пяток ячеек, может, по мелочи.
Как и прикидывал, что около 4-5 десятков ячеек в User получится, так полсотни и выходит.
Это будет наверное, самый "толстый" шейп из таких. Остальные поменьше.
Когда-нибудь, может быть, а может и не быть, написать макросик, который будет слизывать в форму структуру ячеек таких шейпов и обеспечивать удобный ввод новых позиций. Чисто для обновления "базы данных" шейпа.
Шейп в приложенном файле. Поругайте что ли :)
Вложение:
2.vsd [64.5 Кб]
Скачиваний: 131


P.S. Главное не нарваться в этих шейпах на тот случай с футо-дюймо-метрами...
В принципе почти во всех списках это можно обойти.
Может вылезти в артикулах, там не поиграешь относительно произвольно с тем, что вписать...

Автор:  Surrogate [ 27 сен 2016, 08:32 ]
Заголовок сообщения:  Re: Одинаковые формулы в двух шейпах - разное поведение

молодец, сам нашел за LOOKUP(Prop.Type,Prop.Type.Format), я всё забывал про него намекнуть Изображение
Vytos писал(а):
Шейп еще не доделан, но в нем все работает как надо.

поздравляю! я просто не осилил. что поругать за это Изображение

Автор:  Tumanov [ 27 сен 2016, 10:59 ]
Заголовок сообщения:  Re: Одинаковые формулы в двух шейпах - разное поведение

Цитата:
Шейп в приложенном файле. Поругайте что ли

Поругать хочется не шейп, а концепцию.
По-существу у Вас в каждом экземпляре шейпа будет содержаться база данных. И несколькими переключателями выбирается одно из ее состояний.
Будет сделано несколько схем с такими базами.
Через полгода база изменится (чуть добавится, чуть подкорректируется). Например, в один из списков с вольтажом к трем имеющимся добавится четвертое значение, причем на вторую позицию. Вы сделаете новый мастер-шейп с такой базой.
Теперь смотрим ситуацию, когда нужно изменить старую схему или сделать на ее основе новую.
У Вас будет два внешне одинаковых мастер-шейпа, но с разными базами.
Подсунуть в старую схему новый мастер-шейп с апдейтом всех экземпляров - опасно. Кто знает, как там переключатели щелкнут при замене шейпа.
Работать с разнами базами одновременно - не запутаться бы в них, где чей потомок на схеме. Да и неизвестно, как Visio отнесется к такому совмещению мастер-шейпов.
Мне такая концепция с множеством баз кажется очень опасной. Источник (база) должен быть один. Он должен обеспечивать возможность изменения (жизнь-то долгая). И все наследие этого источника (экземпляры шейпов в разных схемах) должны уметь подхватывать эти изменения без разрушения схем. То есть оставаться в том же состоянии.
Если в качестве операционного узла использовать не окно ShapeData, а форму (это влечет использование макросов), то ситуация была бы более устойчивой.

Автор:  Surrogate [ 27 сен 2016, 11:35 ]
Заголовок сообщения:  Re: Одинаковые формулы в двух шейпах - разное поведение

Tumanov писал(а):
Если в качестве операционного узла использовать не окно ShapeData, а форму (это влечет использование макросов), то ситуация была бы более устойчивой.
ага, я за это же писал чуть ранее
Surrogate писал(а):
программно в VBA! может не проще, но надежнее

Автор:  Vytos [ 27 сен 2016, 16:11 ]
Заголовок сообщения:  Re: Одинаковые формулы в двух шейпах - разное поведение

Tumanov писал(а):
Через полгода база изменится (чуть добавится, чуть подкорректируется). Например, в один из списков с вольтажом к трем имеющимся добавится четвертое значение, причем на вторую позицию. Вы сделаете новый мастер-шейп с такой базой.

Не будет делаться новый мастер-шейп. В существующий мастер добавится позиция и в дальнейших схемах будет использоваться этот же, обновленный, мастер.
Цитата:
Теперь смотрим ситуацию, когда нужно изменить старую схему

Старые схемы не изменяются.
Цитата:
сделать на ее основе новую.
У Вас будет два внешне одинаковых мастер-шейпа, но с разными базами.
Подсунуть в старую схему новый мастер-шейп с апдейтом всех экземпляров - опасно. Кто знает, как там переключатели щелкнут при замене шейпа.

Не страшно. Пробежаться после апдейта по шейпам на схеме и выбрать нужные значения - минутное дело. Вряд ли у меня найдется схема, в которой наберется больше полусотни шейпов такого типа. А апдейтиться будут же не все мастера этого типа.
Цитата:
И все наследие этого источника (экземпляры шейпов в разных схемах) должны уметь подхватывать эти изменения без разрушения схем. То есть оставаться в том же состоянии.

Никакого подхватывания изменений в старых схемах не надо. Причем не просто не надо, а в случае использования внешних данных, после создания и окончательного "утверждения" схемы нужно будет обеспечить неизменность данных шейпов в документе при измененнии внешней базы. Это электрические схемы щитов автоматики. После сборки щита и отправке его заказчику никакому изменению схема, естесственно, подлежать не может. Она кладется на полку и достается оттуда только для повторной отсылки заказчику или при необходимости ремонта щита, если заказчик утерял переданную ему документацию.

Автор:  Vytos [ 27 сен 2016, 18:59 ]
Заголовок сообщения:  Re: Одинаковые формулы в двух шейпах - разное поведение

Tumanov писал(а):
Подсунуть в старую схему новый мастер-шейп с апдейтом всех экземпляров - опасно. Кто знает, как там переключатели щелкнут при замене шейпа.

Проверил. Редактировал шейпшит мастера в стенсиле.
Добавил Элемент в один из списков. Добавилось еще две ячейки со своими списками под это.
Обновил шейпы на листе с разными выбором переключателей на обновленный мастер.
При добавлении "в конец" все переключатели остались на листе в том состоянии, что и были.
При добавлении в середину списка встали в Def поля, зависмые от измененного. Вполне ожидаемая реакция, обусловленная прописанными нами формулами.
Которые идут "до него" - остались в своих состояних. Что тоже логично.
Норм.

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