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

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

Генератор - Состав и технология
Константин Чилингаров: Работают. Сортировка, скорее всего, у Вас включена в окошке "параметры" по какой-нибудь колонке. Выключите.
Заявка покупателя - Прочее
Константин Чилингаров: Здравствуйте, Записал в общий список пожеланий. Посмотрим. Спасибо!
Не редактируются строки в конструкторской спецификации - Прочее
Наталья Захарова: Спасибо, получилось.
Групповая простановка Состояний в режиме Выполнение - Производство
Петр Свиридов: Благодарим. Значит, будем развивать терминальный ввод.
График производства, календарный план - Ошибки в работе
Константин Чилингаров: 18821 Ilshatisc написал: А возможно ли сделать так, чтобы колонка "операция" работала без запроса "подробно" ? Смысла нет. Что значит "работала" (см. ниже)? 18821 Ilshatisc написал: Это было бы очень удобно, н ...
Обеспеченность - Ошибки в работе
Константин Чилингаров: 18821 Ilshatisc написал: Запрошенный скриншот во вложении. Вроде, свежая версия. Последняя коммерческая. Странно.  Ну ладно, поэкспериментируем ещё.  18821 Ilshatisc написал: Нужно просто убрать все группы учета, в которых остаток деталей ...
Подсчет фактической и плановой трудоемкости. Терминал - Терминалы
Константин Чилингаров: Отчёт можно сделать (шаблон). Будет в  виде Excel файла выводится. Сразу сгруппированное и рассортированное можно так, как нужно.
Одновременное открытие нескольких окон графика. - Интерфейс программы
Константин Чилингаров: Запишем пока... При случае посмотрим ещё раз (что мешает так сделать, какие могут быть последствия, как можно переделать)
Не получается сформировать предварительные заявки - Прочее
Константин Чилингаров: Добрый день! Прокомментирую... 1. Производственный заказ по смыслу = список позиций, которые производство должно [U изготовить[/U . Задание для производства. Что вы хотите, чтобы производство вам сделало. Соответственно, в этом списке (тех.к ...
Удаление Предварительных заявок - Общие вопросы
Константин Чилингаров: Зайти под администратором, нажать "Настройки - Проверка настроек" (достаточно один раз). (https://yadi.sk/i/Eh4lmH4IVCriKA инструкция по обновлению, п. 10)
Ошибка - Непредусмотренный конец файла. - Ошибки в работе
Serhii Leleka: Спасибо. Помогло.
Новые возможности. Объединённые задания. Как пользоваться? - Производство
Alex-220781: При создании группы не получается изменить количество - сбрасывается до 1шт. Так и должно быть?
Подключение к удаленному SQL серверу - Прочее
Константин Чилингаров: 18863 Алексей Ситников написал: А как долго хранятся тем? Нет ограничения. Ничего не стираем. 18863 Алексей Ситников написал: Т.е. сохранять гдето ваши ответы или не надо? Нет необходимости. Тут всё и останется. Ссылки можете себе сохра ...
Редактирование сообщений в темах - Прочее
Олег Ковалев: Поправили
Место хранения у новых деталей - Производство
Петр Свиридов: Спасибо, увидели. Уже пробуем пользоваться.
Производственный заказ - Прочее
Константин Чилингаров: То, что на картинке означает только лишь то, что вы делаете запрос (ЛЗК) на некий склад "1 Склад производства", но на этом складе у вас такой позиции (номенклатуры, которая помечена программой кружочком с буквой i - информация) никогда не ч ...
Дублирование номенклатуры - Состав и технология
Константин Чилингаров: 18841 D.shumkov написал: одной детали нет. Куда девается - не понимаю. Позиция отмечена, как изготавливаемая (есть техпроцесс). Соответственно, в расчёт "Себестоимости" попадает не она сама, а то, что нужно, чтобы её изготовить (матери ...
Организация закупок - Общие вопросы
Константин Чилингаров: 17161 Данила Кузнецов написал: можно ли прогнать прайс лист через обеспеченность? В принципе, можно. С некоторыми оговорками. Встаём на "Прайс-лист" в справочнике "расчётные документы", нажимаем "Обеспеченность" ...
Заявки на закупку - Материалы, Комплектующие, Складской учёт
Константин Чилингаров: 17161 Данила Кузнецов написал: у нас не береться почему то Проверил. Всё нормально. Всё берётся (рис.1). Проверьте, что у Вас "контрагент" точно указан один и тот же в "прайс-листе" и в "заявке на закупку". 171 ...
Производственный заказ - Прочее
Константин Чилингаров: Здравствуйте,  /forum/messages/forum32/topic2488/message15364/2488-proizvodstvennyy-zakaz#message15364 Вот это - про то же? Тогда Предупреждение! НЕ нужно писать один и тот же вопрос несколько раз в разные темы.

пример кода

- Общие вопросы - Старые разделы форума
Страницы: 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
Сейчас на форуме (гостей: 13)
Всего зарегистрированных пользователей: 2949
Приняло участие в обсуждении: 345
Всего тем: 804
Всего сообщений: 6066

×
Вход на сайт