VOGBIT пример кода - Общие вопросы
Новая версия VOGBIT 26.1.8 - Исправление выявленных недостатков, некоторые дополнения по просьбам пользователей.

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

Категория для учётных и расчётных документов - Общие вопросы
Ashymph2017: Здравствуйте! 1. Что нужно сделать чтобы учётные и расчётные документы сразу попадали в категорию "основная". На данный момент эти ...
Закрывать и брать новые задания по 1шт. - Терминалы
Константин Чилингаров: Здравствуйте,   Это вот про что: Представьте себе простейший терминал «Тип 2», например. Который работает по штрих-коду, по принципу ...
Загрузка спецификации изделия из ЭКСЕЛЬ - Состав и технология
GlMax: Благодарю. Всё понятно.  :like: 
Информация о задании на терминале. - Терминалы
Константин Чилингаров: Попробовал. Нормально, вроде всё.  Вот: https://disk.yandex.ru/i/GdcPW2e39Ua3-Q https://disk.yandex.ru/i/GdcPW2e39Ua3-Q Монитор ViewSonic TD2421. Ничего не настраивал, не устана ...
Уровни учета терминала. - Терминалы
Константин Чилингаров: А как установить приоритеты по отдельным позициям заказа или операциям? Подождите чуть-чуть буквально. Несколько дней. В той версии, ...
Сортировка заданий - Терминалы
Константин Чилингаров: Здравствуйте, Сортируется так же, как на обычном рабочем месте VOGBIT. Нажатие на заголовке колонки - включение сортировки по ней. Повтор ...
Модуль для планирования - Производство
Константин Чилингаров: Здравствуйте, Расскажите как правильно заполнять Трудовые и Производственные ресурсы. Попробую найти время и подготовить какой-ниб ...
Запрос штрих кода. Как отключить. - Терминалы
Константин Чилингаров: А если сделать список по окном внесения штрих-кода - он не много занимает вверху экрана Нет. Это не хорошее решение. Это диалоговое окн ...
Программа дублирует количество материала в отличных друг от друга изделиях, деталях. - Общие вопросы
Константин Чилингаров: Здравствуйте, А у Вас эти "изделия подобного типа, но с другими размерами" в базе как заведены? Как разные номенклатурные позиции? ...
Типы терминалов - Терминалы
Константин Чилингаров: … продолжение …   [B [U Часть 3. Наследие прошлых времен и перспективы[/U [/B Сначала о терминалах для «высокого/максимального» уровня. ...
VOGBIT в MAX, Telegram, VK - Общие вопросы
Константин Чилингаров: Уважаемые пользователи и все, кто просто интересуется!   Мы запустили официальные каналы в https://max.ru/id7728755867_biz MAX , https://t.me/vogbit_official Telegram ...
Импорт спецификаций из Excel - Общие вопросы
Balukov: Здравствуйте. Для работы с загрузкой спецификаций из файлов Excel,направляю Вам ссылку на документацию https://vogbit.ru/support/20647/ https://vogbit.ru/support/206 ...
"Расчётные документы" - Прочее
Константин Чилингаров: Здравствуйте, Нужно вытащить себе на панель инструментов кнопку. Для этого в любом месте на панели инструментов нажмите правую кнопк ...
Создание номенклатуры посредством "перетаскивания" в VOGBIT файлов - Общие вопросы
GlMax: Загрузить номенклатуру из Excel это здорово. Но кто же загрузит номенклатуру в Excel!? Если есть изделие разработанное в Компас, то как информ ...
Учетные документы - Материалы, Комплектующие, Складской учёт
Валерий Бондаренко: Спасибо, слепой поиск очень помог.  Теперь по поводу сдачи на склад. Вогбит внедряли сначала на одном участке, там все так и организовано ...
Расчет плановых дат - Прочее
Андрей Тюрин: Будем ждать видео. Планирование производства -тема актуальная для нас.
Пример создания плагина - Плагины
Константин Чилингаров: Последние сообщения перенесены /forum/messages/forum24/topic2880/message17712/2880-sozdanie-nomenklatury-posredstvom-_peretaskivaniya_-v-vogbit-faylov#message17712 сюда . Причина: /forum/rules/ Правила ...
Сравнение производительности серверов - Прочее
Константин Чилингаров: Здравствуйте, Времена какие-то запредельные, на мой взгляд. Как по мне, для "расчёта" потребности минута - уже очень долго. Не говор ...
Расчет потребности материала из сменных заданий - Материалы, Комплектующие, Складской учёт
Zms.komissarov: Да, так и есть, не обновил строку и не увидел, что коэффициент пересчета указан для другого материала... Все работает! Спасибо!  
Восстановить учётные записи не срабатывает - Прочее
NPP_ORION: Разобрались, снимается вопрос.

пример кода

- Общие вопросы - Старые разделы форума
Страницы: 1
пример кода, стартовый шаблон кода.
 
Добрый день.
Мне посоветовали изложить проблему на форуме.

Так как на данный момент в Vogbit пока не реализованы макросы, хотелось бы получить пример кода, чтобы можно было его использовать, как стартовый шаблон для похожих задач в дальнейшем.

Ситуация вот в чем.
У нас возникла неоднозначность с указанием количества материала в техпроцессе.
Например.
В техпроцессе мы указываем:
Операция. отрубить заготовку
Материал. Проволока диаметром 4 мм. - 1,2 метра
В саму деталь идет 1,2 метра проволоки, но при этом реальный расход материала выше, потому что часть материала идет в отход.  (например после сварки отрубаются лишние кусочки материала) + потери  (например материал был подржавевшим либо другая некондиция). Эти потери распределяются на изделие как + % к расходу материала Поэтому у нас накладывается в расчет себестоимости коэффициент на брак, а в техпроцессе указывается только полезная длина  заготовки, то есть в техпроцессе одна длина заготовки, а в расчет себестоимости идет другая длина.
  Понятно, что для этого в системе указывается параметр длина заготовки (или в комментариях можно указать  длину заготовки, а в количестве поставить значение с учетом расхода), но технологу прийдется считать вручную сколько же материала уйдет с учетом потерь + дополнительно указывать размер заготовки, которую надо отрубить -  двойная работа, от которой хотелось бы его избавить.

Вот и  хочется, чтобы  в техпроцессе был материал с реальной длинной заготовки, а  в себестоимость можно было посчитать материал с учетом потерь или чтобы в параметре материала можно было указать L=длина заготовки, а макросом расчитывалось количество материала в поле количество.

Может есть какой-то пример кода, чтобы на основе параметра длина заготовки, расчет количества расхода материала считался сам? Или что-то приблизительно похожее.
Изменено: Василий Акимов - 06.09.2010 16:16:02
 
Вот пример. Перемножаются 2 параметра компонента и результат записывается в количество компонента:
Код
using System;
using Csdn.Vogbit.Base;
using Csdn.Vogbit.Data;
using Csdn.Vogbit.Forms;

namespace Csdn.Vogbit.PluginExample
{
    [Caption("Csdn.Vogbit.PluginExample")]
    [ID("{E602563E-5EFB-4388-B0C2-CF1D34F7E0DD}")]
    public class ExamplePlugin: PlugInBase
    {
        private const string RunExampleGuidString = "{B21FC2B9-4A1F-4929-9BF6-35FC6BA91D55}";//Guid команды
        private const string X3CategoryGuidString = "{08790C90-5CC4-45a0-83B3-63FA6871C562}";//Guid категории

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

        void ExtFormsEventHandler(object sender, ExtensibleFormsEventArgs e)
        {
            //цепляемся на событие создания формы с компонентами
            if (e.EventType != ExtensibleFormsEventType.NewForm) return;
            if (e.PlugInForm.GetType().ToString().CompareTo(typeof(Main.ComponentsTreeForm).ToString()) != 0) return;

            var barManager = (IBarManager)e.PlugInForm;

            //создаём Категорию
            var categoryId = new Guid(X3CategoryGuidString);
            var barCategory = barManager.BarCategories[categoryId] ?? barManager.BarCategories.Add(categoryId, "x3Plugins");

            //создаём кнопку
            var runExampleGuid = new Guid(RunExampleGuidString);
            var exampleBarCommand = barManager.BarCommands.AddButtonCommand(runExampleGuid, barCategory, "Перемножить параметры", false);

            exampleBarCommand.ToolTip = "Перемножить параметры";
            exampleBarCommand.ActionExecute += ExampleBarCommandActionExecute;

            //вытаскиваем кнопку на панель
            barManager.MainToolBar.AddCommand(runExampleGuid, barManager.MainToolBar[0].ItemId, false);

        }

        void ExampleBarCommandActionExecute(object sender, ActionExecuteEventArgs e)
        {
            var activeForm = (IPlugInDataViewForm) ExtForms.ActiveForm; //активная форма
            var currentItem = activeForm.CurrentItem;                   //объект(компонент) на котором установлен курсор
            var componentId = currentItem["ID"].AsLongInt;              //ID компонента

            //берём параметры компонента
            var componentParameters = ExtApp.Application.General.ObjectParameters(componentId);

            //ищем необходимые параметры по полю ParameterUID
            var searchResult1 = componentParameters.QuickSearch(new[] {"ParameterUID"}, new object[] {"Parameter1"});
            var searchResult2 = componentParameters.QuickSearch(new[] {"ParameterUID"}, new object[] {"Parameter2"});
            
            
            if(searchResult1.Length > 0 && searchResult2.Length > 0)
            {
                //если парметры нашлись - перемножаем
                var quantity = ((ObjectParameter) searchResult1[0]).ParameterValue.AsDouble*
 X searchResult2[0]["ParameterValue"].AsDouble;

                //и записываем в поле "Количество" текущего компонента
                try
                {
                    currentItem["Quantity"].Value = quantity;
                    currentItem.Save();
                }
                finally
                {
                    currentItem.Cancel();
                }
            }
        }
    }

}
 
Огромное спасибо, Сергей.
Страницы: 1
Сейчас на форуме
Всего зарегистрированных пользователей: 4388
Приняло участие в обсуждении: 437
Всего тем: 804
Всего сообщений: 6067

×
Вход на сайт