Новая версия VOGBIT 20.5 - Новая платформа: быстрее, надёжнее, удобнее. Новая подсистема управления приоритетами в производстве. Новые возможности для участков ЧПУ. Улучшенные «цеховые терминалы». Новые возможности для совместной работы менеджеров, инженеров и производства при изготовлении уникальной продукции под заказ. И многое другое…

Последние темы на форумах VOGBIT

Активация/деактивация - Активация, Деактивация, Лицензии
Илья: 13 Константин Чилингаров написал: Напишите, пожалуйста, письмо на mailto:info@vogbit.ru info@vogbit.ru с кратким описанием проблемы (пару слов буквальн ...
Расчёт потребности - Материалы, Комплектующие, Складской учёт
Константин Чилингаров: Здравствуйте, По поводу «материалов» и «комплектующих». [B Первый момент – как лучше вносить:[/B Указывать в техпроцессе, как «комп ...
добавление и удаление деталей в заказ - Состав и технология
Константин Чилингаров: Да, есть такой момент. Много «хвостов» оставляет этот старый модуль «планирования загрузки». В версии 20.5 ещё не все из них удаляются лег ...
Внесение состава изделия, состоящего из большого числа вложенных сборок. - Состав и технология
Константин Чилингаров: 19208 Ирина Хохлова написал: все таки думаю, что фасад это сборочная единица и спецификация нужна Если "фасад" это некая конструкци ...
Карта раскроя - Общие вопросы
mansur: Добрый день, Константин. В этом моменте не понимаю как правильно сделать. "Раскрой 1": состав: Б - 3 шт, В - 1 шт материал: А, норма расх ...
Пустой бланк - Демо версия
Константин Чилингаров: Правильно. С точки зрения выдачи чего-то со склада на выполнение некоего производственного заказа, обеспеченности, снабжения и т.п. - во ...
"Сворачивание" терминала - Терминалы
Константин Чилингаров: Ctrl+Shift+Esc - диспетчер задач. В нём снять задачу. Нужно только предварительно в диспетчере задач поставить галочку в его настройках "пок ...
Параметры командной строки клиента - Прочее
Константин Чилингаров: Здравствуйте, Да, можно. Вот так: "C:\Program Files\Vogbit\Csdn.Vogbit.Client.exe" -s=SRERVER -d=DATA_BASE -u=USER -is=no -p=PASSWORD -al=yes
Редактирование позиций при оформлении приходной накладной - Интерфейс программы
Константин Чилингаров: Здравствуйте, Про передвижение строчек было уже. Записано в списке пожеланий. Про замену номенклатуры - запишу. P.S. в новой версии сде ...
крнструкторская спецификация - Общие вопросы
Елена Ковалева: Добрый день! Могу предположить, что колонки были случайно удалены. Документация по настройке: https://vogbit.ru/support/628/#T918 https://vogbit.ru/support/628/#T918
Не копируется материал - Состав и технология
Илья: Спасибо, очень полезная кнопочка
Как вернуть производственный заказ в производство - Производство
xoxliandiia: Спасибо большое!!!))) получилось) 
Колонка материалы для окна статистика производства - Производство
Freza3mm: 13 Константин Чилингаров написал: Чтобы он мог взять только то, что сейчас нужно, чтобы он брал, а не вообще любое из списка. И через этот ...
Отображения количества деталей в терминале - Интерфейс программы
1113: Все верно.  И было бы здорово иметь возможность изменять шрифт комментариях к операции.  Например, у меня большая сборочная единица, в ...
Календарный план - Производство
Константин Чилингаров: Здравствуйте, Насколько я понимаю, сейчас карты заказов там идут вообще без какой-либо сортировки. В порядке создания. Как они появляли ...
Порядок строк приходной накладной - Интерфейс программы
Alex-220781: 13 Константин Чилингаров написал: Хорошо, понятно. Запишу отдельным пунктом в список предложений и пожеланий. Спасибо! Добрый день! На ...
Отсутствие РЦ в дашборде - Терминалы
Константин Чилингаров: Здравствуйте, Да, верно. На дашборде показываются данные по «текущей смене». Которая идёт непосредственно сейчас. Если таковой нет для с ...
Оформление выдачи готовой продукции из производства - Материалы, Комплектующие, Складской учёт
Константин Чилингаров: В окне «график производства» выделить позиции, которые передаются на склад. Нажать «Сдать на склад» (рис.1). Проверить, что правильно ука ...
Приходный ордер - Прочее
Константин Чилингаров: Можно настроить шаблон отчёта, в котором по формуле посчитать значение соответствующих столбцов. Более сложные варианты я бы не стал ра ...
Работа с заданиями - Производство
Константин Чилингаров: "Сохранить в Excel" и "Отчёты" (reporter, который использует "шаблоны") - это разные инструменты, они работают по-разному. С настр ...

Пример создания плагина

Разработка приложений и функций - Плагины - Технические вопросы
Страницы: 1 2 След.
Пример создания плагина
 
вот пример простого плагина, который добавляет кнопку в Toolbar окна номенклатуры.
При нажатии на кнопку создаётся и показывается форма "Коллекции компонентов".
Пример написан на C#
Код
using System;
using Csdn.Vogbit.Base;
using Csdn.Vogbit.Data;
using Csdn.Vogbit.Forms;
using Csdn.Vogbit.Main;
using System.Windows.Forms;

namespace VogbitPluginExample
{
    [Caption("PluginExample")]
    [ID("{EB7B1DCC-0DDE-4eaf-B500-2D669DE4557C}")]
    public class Example: PlugInBase
    {
        private const string CommandGuidString = "{67ED1590-AB70-46f7-94F9-58A462D333DB}";
        private const string CategoryGuidString = "{B18D68B3-33B2-45eb-BBCA-424B30E65B48}";

        protected override void Connect()
        {
            base.Connect();
            ExtForms.EventHandler += ExtFormsEventHandler;
        }

        void ExtFormsEventHandler(object sender, ExtensibleFormsEventArgs e)
        {
            if (e.EventType == ExtensibleFormsEventType.NewForm)
            {
                if (e.PlugInForm.GetType() == typeof(NomenclatureGridForm))
                {
                    var commandId = new Guid(CommandGuidString);
                    var categoryId = new Guid(CategoryGuidString);

                    var barManager = (IBarManager) e.PlugInForm;
                    var barCategory = barManager.BarCategories.Add(categoryId, "Пример");

                    var exampleButton = barManager.BarCommands.AddButtonCommand(commandId, barCategory, "Команда", false);
                    //exampleButton.IconGlyph = 
                    exampleButton.Caption = "Пример кнопки";
                    exampleButton.ActionExecute += ExampleButtonActionExecute;
                }
            }
        }

        void ExampleButtonActionExecute(object sender, ActionExecuteEventArgs e)
        {
            if (((IPlugInDataForm)ExtForms.ActiveForm).CurrentItem != null)
            {
                //long nmkId = ((NomenclatureItem) ((IPlugInDataForm) ExtForms.ActiveForm).CurrentItem).ID;
                long nmkId = ((IPlugInDataForm) ExtForms.ActiveForm).CurrentItem["ID"].AsLongInt;

                var formParams = new PlugInFormParams();
                formParams["OwnerID"].Value = nmkId;

                var collectionsForm = ExtForms.GetNewForm(typeof (OwnedComponentCollectionsForm).ToString());
                collectionsForm.TabText = "Пример формы";
                collectionsForm.OpenForm(formParams);
                collectionsForm.ShowFloatingForm(DockStyle.None);
            }

        }
    }
}
 
вот скомпилированная библиотека и скриншот.
 
Этот пример попробовал.
Хочется побольше примеров, таких как
- создания пользовательского окна встроенного в VIGBIT (например номенклатура + несколько параметров)
- пример пользовательского модального окна
 
Для того, что бы встроить окно в Vogbit надо наследовать свою форму от одной из вогбитовских.
Например, для "номенклатура + несколько параметров" можно занаследоваться от DataViewForm.
Потом пишем запрос и вываливаем данные в форму.
Вот простой пример формы и запроса:
Код
using Csdn.Vogbit.Base;
using Csdn.Vogbit.Forms;
using Csdn.Vogbit.QB;

namespace VogbitExample
{
    public partial class NmkAndParamsForm : DataViewForm
    {
        public NmkAndParamsForm(IExtensibleApplication app)
            : base(app)
        {

        }

        protected override void OnLoad(System.EventArgs e)
        {
            base.OnLoad(e);

            GetData();

            DataControl.Columns.Add(DataSource.PropertyDefs["Notation"], "Обозначение");
            DataControl.Columns.Add(DataSource.PropertyDefs["Name"], "Наименование"]);
            DataControl.Columns.Add(DataSource.PropertyDefs["p1Value"], "L");
            DataControl.Columns.Add(DataSource.PropertyDefs["p2Value"], "Nmax");
        }


        void GetData()
        {
            var sqlQuery = new SqlQuery();
            var selectQuery = sqlQuery.CreateQuery();
            var nmk = (Csdn.Vogbit.QB.Schema.Views.Nomenclature)selectQuery.From.AddView(Views.Nomenclature, "nmk");
            var p1 = (Csdn.Vogbit.QB.Schema.Views.ObjectParameters) selectQuery.From.AddView(Views.ObjectParameters, "p1");
            var p2 = (Csdn.Vogbit.QB.Schema.Views.ObjectParameters)selectQuery.From.AddView(Views.ObjectParameters, "p2");

            var j1 = new Join(nmk, p1, JoinType.Inner, new Condition().EqualTo(nmk.ID, p1.OwnerID).EqualTo(p1.ParameterNotation, "L")).
                InnerJoin(p2, new Condition().EqualTo(nmk.ID, p2.OwnerID).EqualTo(p2.ParameterNotation, "Nmax"));

            selectQuery.Joins.Add(j1);
            selectQuery.Columns.AddAllColumns(nmk);
            selectQuery.Columns.Add(p1.ParameterValue, "p1value");
            selectQuery.Columns.Add(p2.ParameterValue, "p2Value");

            sqlQuery.Add(selectQuery);

            var data = ExtensibleApplication.Application.ExecuteQuery(sqlQuery);

            data.Close();
            data.Prepare();
            DataSource = data;
        }
    }
}

показать эту форму:
Код
var f = ExtForms.GetNewForm(typeof(NmkAndParamsForm).ToString());
 f.ShowFloatingForm(DockStyle.None);
если хотите показать модальное окно:
Код
f.ShowDialog();
Если хотите встраиваемое окно, но со своими контролами - наследуйтесь от XtraForm.
Для создания диалогового окна можно наследоваться от EditDialog
Если хотите совсем своё окно - стандартным способом.
 
для демо-базы результат должен выглядить так:
2.png (21.64 КБ)
 
А можете показать реализацию аналогичных плагинов на VB.NET.
Спасибо.
 
А разве недостаточно примера для одного языка ? Тем более для языков .Net, где всё очень похоже ?
 
Convert C# to VB.NET
 
Возможно ли рассчитывать и добавлять норму расхода материала на деталь (кг),в констр.спец. по размерам детали(лист а х b;прокат L ), параметрам самого материала (уд,вес),применив коэффициенты расхода по типу детали (1,1;1,05 и др).Какой алгоритм,мож. пример,с чего начать... :D
 
Цитата
yser83 пишет:
Возможно ли рассчитывать и добавлять норму расхода материала на деталь (кг),в констр.спец. по размерам детали(лист а х b;прокат L ), параметрам самого материала (уд,вес),применив коэффициенты расхода по типу детали (1,1;1,05 и др)
Да, возможно.
Пишется плагин, который будет это делать и вперёд!
Обычное программирование. Ничего сложного. Пишется алгоритм на бумажке (в файле произвольного формата) что на что умножать и по каким правилам. И пишется потом плагин, который это делает и результат в нужное место записывает. Например, берёт параметры детали, параметры материала, определённым образом их обрабатывает по какому-то алгоритму и результат записывает в норму расхода. С точки зрения программирования, при наличии толкового ТЗ - задачка элементарная.
Писали мы такие калькуляторы для расчёта норм расхода в своей предыдущей программе (в TCS).

Цитата
yser83 пишет:
пример,с чего начать...
В смысле?
Вы хотите сами плагин свой написать?
Тогда начать со следующего:
1. Написать для VOGBIT свой плагин типа "Hello World"
2. Написать свой плагин, который берёт у выбранной номенклатуры параметр "A" и параметр "B", умножает их друг на друга и значение записывает в параметр "C".
 
Да ! интересно разобраться
писал на С# в VS под Win, а как тут разобраться, откуда "брать" параметр куда вставлять...
 
По поводу "откуда" и "куда".

Деталь - номенклатурная позиция

Характеристики детали (длина, ширина и т.п.) - параметры этой номенклатурной позиции.

Материал (в базе данных) - номенклатурная позиция

Характеристики материала (удельный вес и т.п.) - параметры номенклатуры материала

Техпроцесс - коллекция компонентов, связанная с номенклатурой детали. Тип связи LT_ManProcess.

Материал детали - компонент в коллекции (в техпроцессе). Тип связи LT_Material.

Характеристики заготовки (размеры и т.п.) - параметры этого компонента.

Это всё было по части "откуда".
"Куда":

Норма расхода материала - количество  единица измерения компонента "материал" в коллекции (в техпроцессе).
 
"брать" так:
1. получаете параметры нужного объекта(номенклатуры, компонента, коллекции...)
2. среди всех параметров находите нужный. Искать можно по любому полю. В примере поиск по UID'у. На больших объёмах лучше искать по ParameterID.
3. возвращаете значение найденного параметра(в примере параметр типа double)
Код
var objParams = ExtensibleApplication.Application.General.ObjectParameters(objId);
var searchResult = objParams.QuickSearch(new[] { "ParameterUID" }, new object[] {"ObjectParameterUid"});
if (sr.Length > 0)
{
   return ((ObjectParameter) searchResult[0]).ParameterValue.AsDouble;
}

Добавляем параметр так:
1. получаете параметры нужного объекта(номенклатуры, компонента, коллекции...)
2. создаёте новый параметр
3. изменяете необходимые значения
4. сохраняете
Код
var objParams = ExtensibleApplication.Application.General.ObjectParameters
var objParam = objectParameters.AddNew();
if(objParam != null)
try
{
   objParam.ParameterID.Value = parameterId;
        objParam.ParameterValue.Value = parameterValue;
        objParam.Save();
}
finally
{
   objParam.Cancel();
}
 
Спасибо, попробую разобраться...
Изменено: yser83 - 22.01.2014 15:41:49
 
возможна отладка плагина в Visual Studio ?
vogbit против "Это приложение не может быть запущено под отладчиком. Деактивируйте все активные отладчики и запустите приложение снова"
 
Цитата
yser83 пишет:
возможна отладка плагина в Visual Studio ?
нет
 
как плагины делать? тока коммерчески...
 
Да, если брать коммерческую версию, то там стоит защита. И не даёт запускать под отладчиком. Вариант последней версии программы, который может работать под отладчиком, доступен только разработчикам.

Но есть предложение:
Если хотите, можем найти какую-нибудь прошлогоднюю версию программы в виде голой платформы (без плагинов) и без защиты от запуска под отладчиком. И бесплатно вам лично её дать.
Базу можем любую к ней на выбор дать, хоть "демо", хоть "стартовую". Нам всё равно.
Для вашей задачи подойдёт полностью. С точки зрения считывания/записывания параметров разницы между старой и новой версией нет никакой. Можно на старой версии тренироваться, отлаживать и т.п.
Если потом захотите то, что получится, использовать в последней версии, то просто пересобрать надо будет под новую. Отладчик для этого не нужен, как я понимаю.
 
Это очень интересное предложение...работать будут два приложения на одном компьютере?
 
Найдём какую-нибудь такую версию, которая будет ;)

Надо будет только не ставить её через setup обычный, скорее всего, а просто переписать файлы в нужное место. И запускать оттуда ярлыком, а не через меню "Пуск".
Ну это мы напишем вам кратенькую инструкцию, что куда положить.
 
Спасибо.
 
В общем, если надумаете, пишите на почту.
В течение недели после этого, что-нибудь вам подберём и вышлем с инструкцией.
 
Здравствуйте, Константин. Пробую подключить  скомпиллированный (код- пример кнопки с форума) ,  dll-ка получается 6 кб, в Вогбите не видет в настройке панели (пример-пример кнопки), думаю настройки VS 2013 надо, как то  особенно поставить, подскажите в чем может быть проблемма.
 
Код меняли?
Для разработки используем студию 2012, но вряд ли дело в настройках студии.
Фреймворк 4.5 попробуйте в настройках поставить.
Скиньте файл получившийся
 
Менял guid, текст "моя кнопка", собирать пробовал на разных версиях фрейма...
 
У меня ваша кнопка появилась.
По умолчанию она скрыта.
Можно через код достать так:
Код
barManager.MainToolBar.AddCommand(CommandGuidString, Guid.Empty, false);

или руками: показать панель инструментов-> добавить или удалить кнопки -> Настройка -> Команды -> Мой пример -> Мой пример кнопки и тащите на панель. В след. раз она там будет (и в ленте тоже)
 
У меня в командах(категории:  ) нет"Мой пример", а при использовании оригинального файла пример кнопки VogbitPluginExample, пример -> пример кнопки работает...
Изменено: yser83 - 14.02.2014 16:29:06
 
Вероятно, в директории вогбита оба файла лежат. С одинаковым ID плагина. "Форумный" подцепился раньше. Удалите "форумный", оставьте свой.
 
Удален,в списке файлов программы был,а в директории программы "форумный" остался, удалил, все заработало !!! Спасибо!!!
 
Потихоньку разбираюсь...Создана кнопка в панели окна номенклатура, находит параметры выбранной детали. Подскажите,пожалуйста, где найти параметр материала, данной детали,и возникла проблемка с "Quantity"(кол.материала),как (из номенклатуры) вернуть в компоненты детали, вроде все корректно изложил...
Изменено: yser83 - 19.02.2014 04:10:52
Страницы: 1 2 След.
Сейчас на форуме (гостей: 13)
Всего зарегистрированных пользователей: 3203
Приняло участие в обсуждении: 367
Всего тем: 804
Всего сообщений: 6067

Полезные ссылки:
Видео-презентация подготовка производства Себестоимость управление ремонтами Трудоёмкость базы данных VOGBIT Деактивация VOGBIT планирование производства инструкция Начало работы Расчёт комплектации загрузка оборудования Складской учёт расчет себестоимости ТПП Демонстрационный режим VOGBIT Обновление VOGBIT График производства технологическая подготовка производственный учет складской учет Полная версия VOGBIT Создание новой базы данных VOGBIT управление данными Планирование мелкосерийного производства электронный архив Техническая Подготовка Производства деактивации VOGBIT управление качеством активация VOGBIT управление производством Производственный заказ Установка VOGBIT Состав изделия Обзор обновления Генератор отчетов склад Сменное задание Задания для производства Тип нормирования Заказ на производство производство металлоконструкций Нормирование пост руководство администраторов VOGBIT Планирование производства разработчика отчетов vogbit состав изделия демоверсия технология дерево изделия изменения и новые функции в графике загрузки постов Предварительные заявки Добавленная стоимость продукция Настройка шаблона типового изделия
×
Вход на сайт