Как синхронизировать процесс обновления данных таблицы SQL-serv и чертежа?

Автор Тема: Как синхронизировать процесс обновления данных таблицы SQL-serv и чертежа?  (Прочитано 15760 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн ДианкаАвтор темы

  • ADN Club
  • Сообщений: 41
  • Карма: 0
Подписаться на события сохранения чертежа, его печати, публикации и экспорта данных. Можешь всплывающим окошком спрашивать у юзера, а можешь автоматом обновлять атрибуты вхождения блока (или даже формулы в составе полей определения).

Если нужно оповещение сразу после обновления БД, то можешь написать WCF службу, которая будет это делать (как вариант).
-Спасибо,почитаю.

Цитата: Андрей Бушман
Почитай о системной переменной ProjectName.
-
не очень поняла зачем она мне, этот путь я беру из программки..folderbrowser.selectedpath ,а не какие то связующие пути чертежа....
ну насколько я поняла из прочитанного.

Цитата: Андрей Бушман
Почитай книгу, указанную здесь в п.7. Это своего рода "Библия" на тему того, как в .NET работать с СУБД.
-еслиб книги читались и усваивались с нуля,за день-два, вопрошающих юзверей на ваших форумах бы практически не было :)

Цитата: Андрей Бушман
Ох уж эти "роющие коллеги", как правило не доходящие до изучения второй и третьей вкладки подшивок, не говоря уж о более глубоком изучении...
тем не менее, ведь файлы подшивок аналогично будут коннектиться к БД...и в виду того что функционал (без подшивок) уже написан фактически ,думаю нецелесообразно возвращаться к первой ступени. И кстати, зря Вы так про коллег ) коллеги ,далеко не глупые,и дотошные,если они сказали что нам это не подходит,наверное не подходит :) ,может в виду нашей постоянной нестандартности(в смысле чуть ли не каждый проект отличается, постоянно какие то новововведения,изменения ,например-для такого проекта такой порядок,для другого -второй,для третьего-третий и т.д. )-в такой ситуации довольно сложно "подогнать под стандарт".

Цитата: Александр Ривилис
Почему вопросы по работе с БД задаются на форуме по AutoCAD .NET API? Может их следует задавать на специализированном форуме? Где-нибудь на SQL.RU. Предлагаю отделить мух от котлет.
Цитата: Андрей Бушман
Поддерживаю..
Повторяюсь,вопрос не просто про СУБД,а связь.

Оффлайн ДианкаАвтор темы

  • ADN Club
  • Сообщений: 41
  • Карма: 0
Может можно как то не шибко затратно(для ресурсов ПК) какие то обращения при загрузке чертежа осуществлять.
Можно. Можно подписаться на событие открытия документа (DocumentCollection.DocumentCreated). Но всё остальное (т.е. обращение к БД) к AutoCAD не имеет никакого отношения.

В общем ясно,что ничего не ясно...
Господа,давеча ,вышеписавший ,Андрей Бушман,послал меня именно сюда,с приблизительно таким вопросом,именно в эту ветку...(.Net API)
так что я вас совсем не понимаю :) прям как чиновники футболите с одного форума на другой.
Ладно уж,спасибо и на том.
----------------
а как идентифицировать то событие сохранения чертежа........чтож теперь у любого пользователя автокада будет на сохранение выскакивать....?
пойду подймаю


Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Господа,давеча ,вышеписавший ,Андрей Бушман,послал меня именно сюда,с приблизительно таким вопросом,именно в эту ветку...(.Net API)
так что я вас совсем не понимаю :) прям как чиновники футболите с одного форума на другой.
Еще раз. Мухи отдельно - котлеты отдельно. Как работать со стороны AutoCAD объяснят на этом форуме. Как работать с Базами Данных здесь объяснять не будут - непрофильный это форум. Андрей об этом сегодня и написал.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
-еслиб книги читались и усваивались с нуля,за день-два, вопрошающих юзверей на ваших форумах бы практически не было 
ADO.NET - тема достаточно сложная, объёмная и грамотно, последовательно разжёвана в указанной книге. Изучать эту технологию путём вопросов на форумах - это будет гораздо дольше по времени и результат при этом будет практически нулевой, особенно по качеству приобретённых навыков (т.е. спрашивать можно до пенсии, но так ничему и не научиться). Лучше потратить пару недель и прочитать мануал и потом всё время "за полчаса долетать ©", чем на "наших" или "не наших" форумах ждать у моря погоды (разжёванного ответа). А уже имея некоторый багаж знаний на основе прочитанного материала можно более чётко формировать конкретные вопросы на специализированных форумах.

Цитата: Дианка
тем не менее, ведь файлы подшивок аналогично будут коннектиться к БД...
DST файлы коннектятся к БД? Похоже Вы, или Ваши специалисты что-то путаете...

Цитата: Дианка
не очень поняла зачем она мне, этот путь я беру из программки..folderbrowser.selectedpath ,а не какие то связующие пути чертежа....
С помощью этой системной переменной AutoCAD для каждого DWG индивидуально способен определять каталоги, в которых следует выполнять поиск нужного ресурса. Она своего рода определяет проект к которому относится этот DWG файл. Если меняются настройки проекта, то все DWG этого проекта автоматом подхватывают их. Это "родной" механизм AutoCAD, так что можно воспользоваться им.

Цитата: Дианка
так что я вас совсем не понимаю :)
Это у нас как-то взаимно получается.

Цитата: Дианка
а как идентифицировать то событие сохранения чертежа........чтож теперь у любого пользователя автокада будет на сохранение выскакивать....?
Вы не ленитесь скачивать ObjectARX SDK и заглядывать в его подкаталог doc - это Вам пригодится, если планируете писать код под AutoCAD. Как вариант (по поводу первого вопроса): подпишитесь на Database.BeginSave или Database.SaveComplete (смотря по обстоятельствам).
По поводу второго - а это вам решать программно, у каждого или не у каждого. Вы, для начала, чётко для себя определитесь, что именно вы хотите (что должно происходить и как это должно выглядеть). Без понимания этого ничего вразумительного не сделаете.
« Последнее редактирование: 14-11-2014, 17:47:39 от Андрей Бушман »

Оффлайн ДианкаАвтор темы

  • ADN Club
  • Сообщений: 41
  • Карма: 0
DST файлы коннектятся к БД? Похоже Вы, или Ваши специалисты что-то путаете...
я не знаю какие там файлы ) ,но как-то же синхронизация должна происходить тем не менее..

С помощью этой системной переменной AutoCAD для каждого DWG индивидуально способен определять каталоги, в которых следует выполнять поиск нужного ресурса. Она своего рода определяет проект к которому относится этот DWG файл. Если меняются настройки проекта, то все DWG этого проекта автоматом подхватывают их. Это "родной" механизм AutoCAD, так что можно воспользоваться им.
а если файл копи-паст?или сэйв эс...
не подскажете где почитать,"в конкретном действии"? я нашла всего две ссылочки в котором просто дается определение...причем для меня показалось туманным %)



Как вариант (по поводу первого вопроса): подпишитесь на Database.BeginSave или Database.SaveComplete (смотря по обстоятельствам).
По поводу второго - а это вам решать программно, у каждого или не у каждого. Вы, для начала, чётко для себя определитесь, что именно вы хотите (что должно происходить и как это должно выглядеть). Без понимания этого ничего вразумительного не сделаете.

отдохнув и переобдумав,я решила сделать реакцию на Plot(в Автокаде),это возможно? ну точнее как это реализовать......пойду пока почитаю
=====================
спасибо за идеи!

p.s. т.е. им информация эта нужна в принципе уже на бумаге,точнее уж совсем актуальная....а как так реакцию  после комнады Plot я сама себя не поняла)))) точнее как это реализуемо то,получается после ctrl+p  выскакивает моё сообщение "обновите информацию" ..

Оффлайн bargool

  • ADN Club
  • ***
  • Сообщений: 111
  • Карма: 6
отдохнув и переобдумав,я решила сделать реакцию на Plot(в Автокаде),это возможно? ну точнее как это реализовать......пойду пока почитаю
p.s. т.е. им информация эта нужна в принципе уже на бумаге,точнее уж совсем актуальная....а как так реакцию  после комнады Plot я сама себя не поняла)))) точнее как это реализуемо то,получается после ctrl+p  выскакивает моё сообщение "обновите информацию" ..
Если хотите реагировать именно перед печатью (уже после того, как пользователь отправил файл на печать, но печать ещё не началась), то смотрите на предмет Autodesk.AutoCAD.PlottingServices.PlotReactorManager в SDK
Код - C# [Выбрать]
  1. // Подписываемся на печать
  2. PlotReactorManager manager = new PlotReactorManager();
  3. manager.BeginPage += new BeginPageEventHandler(manager_BeginPage);
При этом учтите, что при публикации печатаются не сами файлы, а их копии
Алексей

Оффлайн ДианкаАвтор темы

  • ADN Club
  • Сообщений: 41
  • Карма: 0
Можно подписаться на событие открытия документа (DocumentCollection.DocumentCreated)

советом "жюри",всё таки решили осуществить реакцию на открытие...

т.е. открыл-проверка на наличие блока, далее выемка тройки строковых значений из самого документа,и сверка их с вновь подкачанными из БД, если -различия,то обновить...
и всё это в фоне %)
вроде звучит не шибко сложно,только я не  предстаавляю как это аля в "стартап" внести %)  ..
впрочем я вернусь к этому позже

Оффлайн ДианкаАвтор темы

  • ADN Club
  • Сообщений: 41
  • Карма: 0
Если хотите реагировать именно перед печатью (уже после того, как пользователь отправил файл на печать, но печать ещё не началась), то смотрите на предмет Autodesk.AutoCAD.PlottingServices.PlotReactorManager в SDK
Спасибо.
не хоЧат перед печатью,впрочем может так оно и лучше(проще) может :) при открытии .