Обновление №8 для версии VOGBIT 1.1.37841 - Новые «Терминалы», новый модуль для «Совместной обработки» в производстве, переработанный режим «Обеспеченность»

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

Описание порядка выполнения операций при изготовлении - Состав и технология
Константин Чилингаров: Здравствуйте, Существующие в текущей версии варианты: 1. Не запускать "тройники" (не создавать задания) до тех пор, пока не сделаны "корпуса" и "штуцеры" (ну если только последние, конечно, не были сделаны заранее ...
В расчет потребности не попадают детали из готового изделия - Состав и технология
Константин Чилингаров: Такой вариант по смыслу соответствует тому, что изготовленные в рамках данного заказа детали, хотя и используются для сборочной единицы в этом же заказе, сначала передаются на склад (отмечается в программе). А потом через какое-то время выдаются со с ...
Перемещение в учетную группу - Ошибки в работе
Константин Чилингаров: Точно. Воспроизвёл. Так и есть. Это недоработка. Будем чинить. Спасибо!
Редактирование параметра профиль и размеры - Состав и технология
Константин Чилингаров: Называть параметры можно как угодно. В том числе переименовывать. И свои создавать, любые. От названия параметра ничего не зависит.  Можете, например, в своей базе переименовать, если есть желание. Почему не вывести параметр материала "профи ...
Как правильно организовать начальный импорт данных на склад - Экспорт импорт данных
Константин Чилингаров: 18911 Станислав написал: А по срокам примерно? День - неделя (в зависимости от загрузки в этот момент). Скорее, день. Плагин сам есть готовый. Вместе с краткой инструкцией и примером его дадим. Если что не получается, то 1-2 коротких консульта ...
Работа с заданиями - Производство
Константин Чилингаров: Здравствуйте, На "среднем" уровне задания не выдаются на пост на конкретную смену (основное предназначение режима "Новые задания"). Соответственно, в режиме "Новые задания" с ними делать нечего. Они там выводятся для ...
График производства перестал показывать вторую очередь - Производство
Станислав: 13 Константин Чилингаров ,  Спасибо! Я вас во все в принципе понял. С Уважением!
Обеспеченность с закрытыми заявками покупателей - Производство
Константин Чилингаров: Здравствуйте, Видимо, речь о том, что когда включены "учётные группы", то в "Обеспеченность" показываются внизу "пустые" остатки по всем ранее существовавшим группам (закрытым). Попробовал, да есть такая штука. Согл ...
Удалить расходную накладную - Материалы, Комплектующие, Складской учёт
Константин Чилингаров: 18911 Станислав написал: Странно, но ЕИ по умолчанию через некоторое время опять появились те же самые, что и были раньше.Т.е удаление их из окна связанных с номенклатурой объектов не решает проблемы, попробовал кг заменить на м, все равно устанав ...
Работа с заданиями - редактирование строки по конкретной операции над деталью - Производство
Константин Чилингаров: Здравствуйте, 18911 Станислав написал: В технологии за конкретной операцией Пиление заготовки пост на котором исполняется операция конкретно не указан, и поэтому в связанных объектах указано две ленточные пилы. Некоторые общие вещи по поводу ...
Удвоение потребности - Производство
Станислав: 13 Константин Чилингаров ,  Фигасе - походу "мозгу юзера" капец. Спасибо за пояснения. С Уважением!
Переключение между базами данных - Обновление
Константин Чилингаров: Здравствуйте, Разные "файлы программы" в базах. На одной стоит обновление, на другой нет. 4146 Владимир Трусов написал: Как это починить? Поставить последнее обновление на обе базы.
Информация о количестве изделий на терминале - Интерфейс программы
Константин Чилингаров: Здравствуйте, 3520 Alex-220781 написал: А сейчас эта кнопка работает? По моему после последнего обновления перестала Вроде работает. Вчера проверял, работала (тип терминала 4). Но она вообще изначально задумывалась для того, чтобы можно было ...
Терминал. Распределение заданий на разные участки. - Терминалы
Константин Чилингаров: Про выдачу одного задания на разные посты, которые на разных участках. Я бы всё таки настоятельно не рекомендовал так делать. Это идеологически изначально не предусмотрено, и чревато. Например, к "участку" привязывается "тип терминал ...
Выдача ТМЦ со склада "без основания" - Материалы, Комплектующие, Складской учёт
Константин Чилингаров: 18931 Volkov1 написал: Можно ли осуществлять выдачу любых номенклатурных позиций со склада? Ответ на одно сообщение выше. Проблема не в выдаче. Всё выдаётся и проводится в программе: накладная создаётся (в виде электронного документа в програ ...
Ошибки после обновления декабрь 2019 - Терминалы
Константин Чилингаров: Здравствуйте, 3520 Alex-220781 написал: они не связаны с отключением электричества или аварийным завершением но вот это 3520 Alex-220781 написал: аботник нажимает кнопку "завершить", выскакивает ошибка - это и есть аварийное з ...
Вопросы по демо версии - Демо версия
Станислав: 13 Константин Чилингаров , Здравствуйте! Не хотел Вас обидеть своими глупыми вопросами, но причина в том числе и не совсем дружественном интерфейсе проги и довольно сложной структуре данных, предназначенной для построения СУБД. У обычного реально ...
Комментарии к операциям - Прочее
Константин Чилингаров: Здравствуйте, В этом окошке (график работ по сменам/ детальный график) в этой колонке отображается комментарий к операции, указанный в техпроцессе.
Новые возможности. Объединённые задания. Как пользоваться? - Производство
Константин Чилингаров: У вас в списке всего деталей, которые можно объединить в группу: 8 шт, 2 шт и 2 шт. Вы говорите, что в группе деталей: 8шт, 2шт и 2шт. Больше одной такой "группы" из такого количества деталей создать не получится.
Ошибка при выводе на печать предварительных заказов в демо версии производство - Производство
Константин Чилингаров: Здравствуйте, В окне, где выбирается бланк отчёта (какой нужно распечатать), нужно выбрать подходящий шаблон и нажать "Ок" (не на "принтер"). См. /support/622/#_v7680 здесь , рис.68.

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

Разработка приложений и функций - Плагины - Технические вопросы
Страницы: 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 След.
Сейчас на форуме (гостей: 16)
Всего зарегистрированных пользователей: 3003
Приняло участие в обсуждении: 350
Всего тем: 804
Всего сообщений: 6066

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