На форуме обязательно:
  1. Заполнить свой профиль на Русском языке. См. Правила, п.2.d.
  2. Не писать свой вопрос в первую попавшуюся тему, а вместо этого создать свою. См. Правила, п.3.a.

Скрипты и API

Сценарии / Модули API

Модератор: специалисты по Eplan


limbir
здесь недавно
здесь недавно
Сообщения: 36
Зарегистрирован: 12 фев 2014, 07:13
Имя: Сергей
Благодарил (а): 1 раз

Скрипты и API

Сообщение limbir » 24 окт 2016, 08:56

Добрый день!
Потребовался очередной совет знатоков API Еплана)
Доступны ли через API диалоговые окна Eplan? Конкретно хотелось бы узнать про "Выбор изделия" из базы данных.
Задача создать на своей форме кнопку выбора изделия, при нажатии на которую, открывается стандартное еплановское диалоговое окно, которое в результате возвращает номер выбранного изделия.

Аватара пользователя

Madwolf
знаток Eplan
знаток Eplan
Сообщения: 1015
Зарегистрирован: 17 окт 2012, 10:24
Имя: Виталий
Благодарил (а): 15 раз
Поблагодарили: 55 раз

Скрипты и API

Сообщение Madwolf » 24 окт 2016, 11:30

Думаю нужно копать в сторону класса MDPartsManagement , сам такое не пробовал делать.


limbir
здесь недавно
здесь недавно
Сообщения: 36
Зарегистрирован: 12 фев 2014, 07:13
Имя: Сергей
Благодарил (а): 1 раз

Скрипты и API

Сообщение limbir » 24 окт 2016, 11:43

Спасибо, буду искать в том направлении. Как разберусь, сообщу о результате.

Аватара пользователя

Madwolf
знаток Eplan
знаток Eplan
Сообщения: 1015
Зарегистрирован: 17 окт 2012, 10:24
Имя: Виталий
Благодарил (а): 15 раз
Поблагодарили: 55 раз

Скрипты и API

Сообщение Madwolf » 03 ноя 2016, 12:55

limbir писал(а):Источник цитаты Спасибо, буду искать в том направлении. Как разберусь, сообщу о результате.

Накопали что-нибудь?


LexFoktis
здесь недавно
здесь недавно
Сообщения: 23
Зарегистрирован: 23 июл 2015, 06:38
Имя: Феоктистов Лев Романович
Благодарил (а): 6 раз
Поблагодарили: 5 раз

Автоматический BackUp

Сообщение LexFoktis » 10 янв 2017, 07:38

Создал батник, в нем прописал команды для резервирования проекта и указал место где расположить резервную копию проекта, этот батник занес в планировщик задач, всё работает отлично и всё бы ничего, если бы не возникала иногда потребность выгонять пользователей принудительно, резервирование проекта происходит ночью, но некоторые пользователи не выключают компьютеры и оставляют Eplan открытым, а когда такое происходит, невозможно произвести резервирование проекта.

ВОПРОС: Есть ли какая нибудь команда/менеджер/сервис/скрипт/сценарий и т.д. который позволит принудительно выкинуть всех пользователей из данного проекта?

Аватара пользователя

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 2480
Зарегистрирован: 05 мар 2012, 14:00
Имя: Горский Андрей Сергеевич
Откуда: Санкт-Петербург
Благодарил (а): 51 раз
Поблагодарили: 74 раза
Контактная информация:

Скрипты и API

Сообщение AGorskiy » 10 янв 2017, 10:40

Батничек простой тоже был тут выложен - viewtopic.php?t=2919&start=25#p42891

LexFoktis, нет механизмов для того, чтобы кикнуть юзеров, увы.

Отправлено спустя 7 минут 40 секунд:
Кстати, на мой взгляд, если делать бекап Виндой, то есть не через Е, то папка проекта должна бекапится без проблем.
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.


LexFoktis
здесь недавно
здесь недавно
Сообщения: 23
Зарегистрирован: 23 июл 2015, 06:38
Имя: Феоктистов Лев Романович
Благодарил (а): 6 раз
Поблагодарили: 5 раз

Скрипты и API

Сообщение LexFoktis » 11 янв 2017, 06:25

На мой взгляд так интересней:

Код: Выделить всё

Set FullDate=%date:~6,4%_%date:~3,2%_%date:~0,2%
"C:\Program Files\EPLAN\Platform\2.6.3\Bin\Eplan.exe" /Variant:"Electric P8" /NoSplash /Frame:0 /Auto /Quiet backup /TYPE:PROJECT /PROJECTNAME:"\\apus\EPLAN\Project_2_6\Projects\SNHP\5766577_2333_H479_1_OV.elk" /DESTINATIONPATH:"\\Cad\eplan" /ARCHIVENAME:"5766577_2333_H479_1_OV_%FullDate%.zw1" /BACKUPMETHOD:BACKUP /BACKUPMEDIA:DISK /SPLITSIZE:0.0 /BACKUPAMOUNT:BACKUPAMOUNT_ALL /COMPRESSPRJ:0


Архив запаковывается по средствам Eplan, удобно и быстро...если бы не проблемы с пользователями...
Техническая поддержка на мой вопрос ответила следующее:
Добрый день!
Попробуйте установить Licence Manager - Monitor (есть в дистрибутиве в папке ELM\License Tools). В окне на вкладке Пользователи клавишей Delete удалять пользователей принудительно

Аватара пользователя

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 2480
Зарегистрирован: 05 мар 2012, 14:00
Имя: Горский Андрей Сергеевич
Откуда: Санкт-Петербург
Благодарил (а): 51 раз
Поблагодарили: 74 раза
Контактная информация:

Скрипты и API

Сообщение AGorskiy » 11 янв 2017, 10:31

LexFoktis писал(а):Источник цитаты Licence Manager - Monitor (есть в дистрибутиве в папке ELM\License Tools). В окне на вкладке Пользователи клавишей Delete удалять пользователей принудительно

Насколько помню LM возможен только при работе в домене, если у вас одноранговая сеть, то увы.

А батничек и в самом деле интереснее. Спасибо.
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.


LexFoktis
здесь недавно
здесь недавно
Сообщения: 23
Зарегистрирован: 23 июл 2015, 06:38
Имя: Феоктистов Лев Романович
Благодарил (а): 6 раз
Поблагодарили: 5 раз

Скрипты и API

Сообщение LexFoktis » 22 янв 2017, 18:49

Помогите пожалуйста разобраться с экспортом данных через скрипт.
Задача такая: экспортировать через скрипт свойства объекта планирования через Внешняя обработка свойств/Экспортировать данные/Сегменты: Технологические контуры.
Настроил схему экспорта как нужна, ручками всё экспортируется прекрасно, а через скрипт какая-то засада (см Рисунок) на рисунке специально показал что контуры выделены.
Вот сам скрипт

Код: Выделить всё

public void MyRunAction()
    {
       
        CommandLineInterpreter oCLI = new CommandLineInterpreter();
        ActionCallingContext ctx2 = new ActionCallingContext();
        ctx2.AddParameter("ConfigScheme", "Тест");   
        ctx2.AddParameter("TypeId", "150");
        ctx2.AddParameter("Destination", "D:\\Dddddds.xlsx");
        ctx2.AddParameter("ExecutionMode", "0");
        oCLI.Execute("XMExportPPELoopsAction", ctx2);
        return;
    }

сама команда описана тут http://www.eplan.help/help/platform/2.5 ... action.htm
Снимок.PNG
У вас нет необходимых прав для просмотра вложений в этом сообщении.


LexFoktis
здесь недавно
здесь недавно
Сообщения: 23
Зарегистрирован: 23 июл 2015, 06:38
Имя: Феоктистов Лев Романович
Благодарил (а): 6 раз
Поблагодарили: 5 раз

Скрипты и API

Сообщение LexFoktis » 23 янв 2017, 07:32

Вопрос решен!

ОТВЕТ: Параметр XMExportPPELoopsAction предназначен для модуля PPE, которого у нас в сборке нету, но есть модуль Препленинга, а фактически это два совершенно разных модуля, поэтому для работы с моим модулем можно использовать параметр XMActionDCCommonExport

Аватара пользователя

Madwolf
знаток Eplan
знаток Eplan
Сообщения: 1015
Зарегистрирован: 17 окт 2012, 10:24
Имя: Виталий
Благодарил (а): 15 раз
Поблагодарили: 55 раз

Скрипты и API

Сообщение Madwolf » 23 янв 2017, 08:43

Не вижу особого смысла в данном скрипте, все это можно сделать в кнопке (вызвать Action с параметрами).


LexFoktis
здесь недавно
здесь недавно
Сообщения: 23
Зарегистрирован: 23 июл 2015, 06:38
Имя: Феоктистов Лев Романович
Благодарил (а): 6 раз
Поблагодарили: 5 раз

Скрипты и API

Сообщение LexFoktis » 23 янв 2017, 12:34

Madwolf писал(а):Источник цитаты Не вижу особого смысла в данном скрипте, все это можно сделать в кнопке (вызвать Action с параметрами).

Не ведите смысла потому что не видите всей картины.

Опишу проблему которую я уже решил:
Есть дерево Препленинга в котором располагаются датчики (Объект предварительного планирования). На каждый датчик формируется свой опросный лист. Далее эти датчики заносятся в общую спецификацию, в которой есть столбец для записи номера опросного листа.
1.png

Так вот по средствам еплана невозможно получить информацию и занести в свойства этого датчика, номер опросного листа который был сформирован по нему автоматически. Мы может только ручками заходить в объект планирования переходить на вкладку Документы/страницы, и прикреплять к нему сформированный опросный лист, НО! если опросников много да искать нужный лист очень не удобно, и к каждому датчику можно прикрепить только одну страницу.
Решение проблемы:
1) Написан скриптик который автоматически экспортирует в Эксель номера страниц и описание (оно в себе содержит позицию датчика),
2.png
также отдельно экспортируются в эксель датчики и нужные свойства для него.

2) После чего запускается программа, открывает оба экселевских файла и по строкам проверяет значения, далее программа соответствующий номер листа записывает соответствующему датчику в файл экселя с датчиками.
3.PNG

3) Экселевский файл импортируется по средствам макроса, и нужному свойству объекта прописывается на каком опросном листе он располагается.
4.PNG


Фактически по итогу пользователь должен нажать всего 3 кнопки (Экспорт, Маркировать, Импорт)
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Аватара пользователя

Madwolf
знаток Eplan
знаток Eplan
Сообщения: 1015
Зарегистрирован: 17 окт 2012, 10:24
Имя: Виталий
Благодарил (а): 15 раз
Поблагодарили: 55 раз

Скрипты и API

Сообщение Madwolf » 24 янв 2017, 10:39

Сути это не меняет, вижу я картину или нет, я говорю что код, исполняемый Вашим скриптом, можно вставить в обычную кнопку на панели инструментов. К тому же можно сделать несколько кнопок с разными параметрами без загрузки или выгрузки скриптов.
Единственный момент, на кнопку не повесишь горячую клавишу, а вот через скрипт это сделать можно.


LexFoktis
здесь недавно
здесь недавно
Сообщения: 23
Зарегистрирован: 23 июл 2015, 06:38
Имя: Феоктистов Лев Романович
Благодарил (а): 6 раз
Поблагодарили: 5 раз

Скрипты и API

Сообщение LexFoktis » 24 янв 2017, 13:04

Madwolf писал(а):Источник цитаты Сути это не меняет, вижу я картину или нет, я говорю что код, исполняемый Вашим скриптом, можно вставить в обычную кнопку на панели инструментов. К тому же можно сделать несколько кнопок с разными параметрами без загрузки или выгрузки скриптов.
Единственный момент, на кнопку не повесишь горячую клавишу, а вот через скрипт это сделать можно.

Как вы через кнопку запустите сторонний exe файл? Скрипт обрабатывает все команды и запускает стороннее приложение, не думаю что создавать лишние кнопки это выход

Аватара пользователя

Madwolf
знаток Eplan
знаток Eplan
Сообщения: 1015
Зарегистрирован: 17 окт 2012, 10:24
Имя: Виталий
Благодарил (а): 15 раз
Поблагодарили: 55 раз

Скрипты и API

Сообщение Madwolf » 24 янв 2017, 17:49

LexFoktis писал(а):Источник цитаты ...
Вот сам скрипт

Код: Выделить всё

public void MyRunAction()
    {
       
        CommandLineInterpreter oCLI = new CommandLineInterpreter();
        ActionCallingContext ctx2 = new ActionCallingContext();
        ctx2.AddParameter("ConfigScheme", "Тест");   
        ctx2.AddParameter("TypeId", "150");
        ctx2.AddParameter("Destination", "D:\\Dddddds.xlsx");
        ctx2.AddParameter("ExecutionMode", "0");
        oCLI.Execute("XMExportPPELoopsAction", ctx2);
        return;
    }

...


А где тут в скрипте запуск файла? Все это 100% можно в кнопку.


LexFoktis
здесь недавно
здесь недавно
Сообщения: 23
Зарегистрирован: 23 июл 2015, 06:38
Имя: Феоктистов Лев Романович
Благодарил (а): 6 раз
Поблагодарили: 5 раз

Скрипты и API

Сообщение LexFoktis » 26 янв 2017, 07:33

Madwolf писал(а):Источник цитаты А где тут в скрипте запуск файла? Все это 100% можно в кнопку.

Начнем с того что мой вопрос не был связан с тем что можно это в кнопку или нет, и далее я описал целиком всю картину и пояснил почему в моём случае занесение данного скрипта в кнопку не подходит.

По сути другой вопрос: Возможно ли при помощи скрипта выбрать и установить рабочую область? Или уже нужно API? По идее через скрипт я могу обратиться ко всем своим сохраненным рабочим областям, но как установить выбранную область, я не понял.

Аватара пользователя

Madwolf
знаток Eplan
знаток Eplan
Сообщения: 1015
Зарегистрирован: 17 окт 2012, 10:24
Имя: Виталий
Благодарил (а): 15 раз
Поблагодарили: 55 раз

Скрипты и API

Сообщение Madwolf » 28 янв 2017, 12:47

OpenWorkspaceAction /Workspacename:"?"


ids
знаток Eplan
знаток Eplan
Сообщения: 23
Зарегистрирован: 17 сен 2015, 09:25
Имя: Иванюк Дмитрий Сергеевич
Благодарил (а): 2 раза

Скрипты и API

Сообщение ids » 02 фев 2017, 10:27

Добрый день,

какая сейчас актуальная версия документации по API (EPLAN_Api.chm)?

Аватара пользователя

Madwolf
знаток Eplan
знаток Eplan
Сообщения: 1015
Зарегистрирован: 17 окт 2012, 10:24
Имя: Виталий
Благодарил (а): 15 раз
Поблагодарили: 55 раз

Скрипты и API

Сообщение Madwolf » 02 фев 2017, 20:27

ids писал(а):Источник цитаты Добрый день,

какая сейчас актуальная версия документации по API (EPLAN_Api.chm)?


2.6 конечно же )

Аватара пользователя

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 2480
Зарегистрирован: 05 мар 2012, 14:00
Имя: Горский Андрей Сергеевич
Откуда: Санкт-Петербург
Благодарил (а): 51 раз
Поблагодарили: 74 раза
Контактная информация:

Скрипты и API

Сообщение AGorskiy » 02 фев 2017, 21:52

К примеру первый хелп появился в 2006 имел версию 1. Хелп к версии Еплана 2,4 уже просто имеет

Виталий прав, сейчас API имеет вид API 2.4.4.8366, то есть он актуален к Е 2.4, EPLAN API, 01.08.2014, обозначение внутри документа.
На сегодня версия 2.6.
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.


ids
знаток Eplan
знаток Eplan
Сообщения: 23
Зарегистрирован: 17 сен 2015, 09:25
Имя: Иванюк Дмитрий Сергеевич
Благодарил (а): 2 раза

Скрипты и API

Сообщение ids » 03 фев 2017, 18:26

Добрый день,

Может есть возможность выложить данную справку? Спасибо.

Аватара пользователя

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 2480
Зарегистрирован: 05 мар 2012, 14:00
Имя: Горский Андрей Сергеевич
Откуда: Санкт-Петербург
Благодарил (а): 51 раз
Поблагодарили: 74 раза
Контактная информация:

Скрипты и API

Сообщение AGorskiy » 03 фев 2017, 21:08

День добрый, Дмитрий!
Конечно, ради этого и форум создавался =))

"Поиск знаний священен. Обмен знаниями священен." Ссылку отправил вам в ЛС.

Не за что.
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.


LexFoktis
здесь недавно
здесь недавно
Сообщения: 23
Зарегистрирован: 23 июл 2015, 06:38
Имя: Феоктистов Лев Романович
Благодарил (а): 6 раз
Поблагодарили: 5 раз

Скрипты и API

Сообщение LexFoktis » 10 фев 2017, 15:11

Поделюсь небольшим батником, который может быть полезен администраторам.

Код: Выделить всё

"C:\Program Files\EPLAN\Platform\НОМЕР_ВЕРСИИ_ЕПЛАНА\Bin\Eplan.exe" /Variant:"Electric P8" /NoLoadWorkspace /Frame:1 XSettingsImport /XmlFile:"\\apus\EPLAN\Project\XML\SNHP\Project_Settings\my_user_20flr.xml" /Node:USER

Суть: Открывает Еплан и импортирует из указанного места (в моем случае это сервер) настройки пользователя в проекте, тем самым у нового пользователя который первый раз открывает проект уже будут проставлены все настройки (каталоги, базы данных, панели инструментов, рабочие области, фильтры и т.д.). Также если администратор принимает решение изменить какие либо настройки, то ему нет необходимости проходиться по каждому пользователю и вручную менять настройки, он просто настраивает у себя проект, выгружает файл с настройками на сервер Параметры-Настройки-Экспортировать, а далее каждый пользователь используя ярлык, который ссылается на данны батник, открывает Еплан, и у него все настройки обновляются до актуальных.

Что нужно для работы: Настроить у себя проект, (пользовательские настройки), сохранить рабочие области. Далее экспортируем настройки в какой нибудь удобный каталог, прописывает путь до каталога сюда

Код: Выделить всё

/XmlFile:"?"

Далее сохраняем наш батник, под .cmd, запускаем его, открывается Еплан, который имеет такой вид:
2.PNG

Открываем Вид-Рабочие области, и выбираем сохраненную нами рабочую область.
Теперь если даже проектировщик или кто то поудаляет рабочие области, панели кнопки, испортит пользовательские настройки и объест каталоги, при следующем заходе в Еплан, все вернутся в исходное состояние
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось AGorskiy 10 фев 2017, 17:03, всего редактировалось 2 раза.
Причина: обобщил (версия)

Аватара пользователя

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 2480
Зарегистрирован: 05 мар 2012, 14:00
Имя: Горский Андрей Сергеевич
Откуда: Санкт-Петербург
Благодарил (а): 51 раз
Поблагодарили: 74 раза
Контактная информация:

Скрипты и API

Сообщение AGorskiy » 10 фев 2017, 16:59

Немного откорректирую: можно не создавать батник, тем более команд Винды тут нет, а все прописать в Свойство ярлыка Eplan'а, в закладке Ярлык, в строке Объект.
Вроде как должно работать, сам не проверял.
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.


LexFoktis
здесь недавно
здесь недавно
Сообщения: 23
Зарегистрирован: 23 июл 2015, 06:38
Имя: Феоктистов Лев Романович
Благодарил (а): 6 раз
Поблагодарили: 5 раз

Скрипты и API

Сообщение LexFoktis » 12 фев 2017, 17:29

Подскажите, можно ли создать свой пункт меню, не имея лицензии API, я имею в виду не добавить пункт в Серсисные программы, а создать своё полноценное главное меню с всплывающей иерархией. Порывшись в справочнике по API Натолкнулся на функцию AddMainMenu, но мои пункты меню не появляются. И ещё вопрос каким образом можно узнать ID меню? или это всё удел обладателей лицензии на API?