VOGBIT Пример создания плагина - Плагины
О новом модуле программы «Пролёживание» - Мнение руководителя производства

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

Импорт спецификаций из 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. Нужно установить в настройках ручное назначение "приоритетов" (что пользователь сам проставляет &quo ...
Хранение в базе данных ссылок на файлы - Общие вопросы
Константин Чилингаров: Ещё штатный отчёт маршрутный лист с чертежом из PDF на обратной стороне у меня как-то не смог с первого раза сам сформироваться нормально, ...
Ошибка при печати отчёта - Отчёты
Константин Чилингаров: последнее сообщение /forum/messages/forum24/topic2877/message17694/2877-khranenie-v-baze-dannykh-ssylok-na-fayly#message17694 перенесено . Причина - нарушение /forum/rules/ правил форума , п.8.
Новые возможности. Объединённые задания. Как пользоваться? - Производство
Константин Чилингаров: Здравствуйте, Судя по данным вопросам, я понял, что Вы не поняли, как в принципе используется по задумке механизм "объединенных задан ...
Права Доступа Сотрудника - Прочее
Константин Чилингаров: Здравствуйте, Немного из истории вопроса…   В прошлой программе, которую мы делали до VOGBIT, была у нас «развесистая» система управл ...
Формат адреса прокси-сервера - Прочее
Владимир Белов: Добрый день! Нужно указывать в формате URL: http://170.70.0.1:3128 http http://170.70.0.1:3128 ://170.70.0.1:3128 У вас должен быть на прокси-сервере проброшен порт 28 ...
С Новым годом! - Общие вопросы
Сергей: На данный момент проблема решается повторной активацией серийного номера. Нужно нажать на кнопку "Повторить"
Совместимость с MS SQL Server - Общие вопросы
Владимир Белов: Добрый день! MSSQL 2008 не поддерживается. Минимальная поддерживаемая версия - 2012. Рекомендуемая - 2016 или более старшая.
Схема изготовления - Производство
Константин Чилингаров: А нет возможности из этого окна проверять наличие деталей на складе? Ну и выдавать их со склада, чтоб позиции "зеленели". Тут неск ...
И снова про брак... - Материалы, Комплектующие, Складской учёт
Константин Чилингаров: при нажатии на + в Связанных позициях, я ожидал(хотел) увидеть появление трёх позиций... Для этого нужно настроить, какие позиции должны ...

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

Разработка приложений и функций - Плагины - Технические вопросы
Страницы: Пред. 1 2 3 След.
Пример создания плагина
 
Большое всем СПАСИБО кнопка получилась отличная (норма матер,и сварку и краску  считает!!! все как и задумал)
.....беспокоит один вопрос что после ID 999999 ?
 
Цитата
что после ID 999999
ID 1000000  :)
 
тогда поместится все...
 
Код
Добавляем параметр так: 
1. получаете параметры нужного объекта(номенклатуры, компонента, коллекции...) 
2. создаёте новый параметр 
3. изменяете необходимые значения 
4. сохраняете и т.д...

Подскажите,пожалуйста, как такой же фокус проделать с папкой в дереве номенклатуры...
-выбираем номенклатурную поз.(-> piugin)
-добавляет папку в текущую папку номенклатуры с наименованием номенклатурной поз...(хочу упростить создание дерева номенклатуры для изделий, (сбор ед 1, входящие сборки и детали помещаем в папку с названием сбор ед 1, и т.д, )
 
Берём папки:
Код
var folders = ExtApp.Application.General.Folders(categoryId);

Создаём новую:
Код
var newFolder = folders.AddNew();
try
{
 newFolder.Name.Value = "новая папка";
 newFolder.ParentID.Value = folderId;//родительская папка
 newFolder.Save();
}
finally
{
 newFolder.Cancel();
}

Помещаем номенклатуру в папку:
Код
var nmk = nomenclatureItem as ArrangedObject;
try
{
 nmk["FolderId"].AsLongInt = folder.ID.AsLongInt;
 nmk.Save();
}
finally
{
 nmk.Cancel()
}
 
Здравствуйте , ув. разработчики.

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

И скажите пожалуйста как устанавливаются эти .dll файлы ( кинул в директорию программы, но кнопка не появилась )
Снимок.PNG (15.04 КБ)
Снимок1.PNG (3.05 КБ)
Изменено: Максим Прохоров - 08.09.2014 10:22:43
ООО "Нефтезаводмонтаж" , г.Волгоград
 
Всё тоже самое: создаёте папку
Код
var newFolder = folders.AddNew();
newFolder.ParentID.Value = folderId;//родительская папка
Создаёте диалог
Код
var folderDialog = new NodeEditForm(ExtApp);
в диалог подсовываете создаваемую папку
Код
folderDialog.DataSource = newFolder;
Показываете диалог, и если нажат ОК - сохраняете:
Код
if (folderDialog.ShowDialog() == PlugInFormShowResult.Ok)
            {               
                newFolder.Save();
            }
            else newFolder.Cancel();
Дальше создаёте новые папки "Узлы" и "Детали" с ParentId равным id newFolder'a
Цитата
Максим Прохоров пишет:
И скажите пожалуйста как устанавливаются эти .dll файлы ( кинул в директорию программы, но кнопка не появилась )
достаточно кинуть файлы в директорию программы. Если не появилась, то возможно кнопка скрыта - поищите в настройках панели инструментов. Если и там нет - значит что-то сделали не так
 
Спасибо, Сергей
ООО "Нефтезаводмонтаж" , г.Волгоград
 
Если я правильно понял, то код создания двух папок будет следующим ... в комментарий почему то не получается добавить его. Парсер не пропускает ...
Изменено: Максим Прохоров - 14.09.2014 18:37:21
ООО "Нефтезаводмонтаж" , г.Волгоград
 
Цитата
Максим Прохоров пишет:
Если я правильно понял, то код создания двух папок будет следующим ...
Код
var newFolder = folders.AddNew();
newFolder.Name.Value = "Узлы";
newFolder.ParentID.Value = newFolderId;
newFolder.Name.Value = "Детали";
newFolder.ParentID.Value = newFolderId;
Нет. Поняли не правильно. В вашем коде создаётся одна папка(AddNew). Затем одной и той же папке два раза присваивается разное наименование и 2 раза указывается родитель в дереве. +отсутствует сохранение.
Посмотрите сообщение №43 в этой теме. Там практически готовая функция для создания папок по названию и родителю.
 
Сергей! Сделал плагин, который загружает номенклатуру в Вогбит из файла .csv. Загрузку проходит нормально, но при повторной загрузке вылетает ошибка, что такая номенклатура есть. Пытаюсь организовать поиск в справочнике ранее загруженной номенклатуры, но что-то делаю не так. Подскажите где ошибка:
           try
           {
               using (StreamReader sr = new StreamReader(@"D:\nmkFile.csv", Encoding.Default))
               {
                   string[] headers = sr.ReadLine().Split('\t');
                   var folderId = ((IPlugInForm)activeForm).FormParams["FolderId"].AsLongInt;
                   var nmks = ExtApp.Application.General.Nomenclature(folderId, CatalogOptions.None);
                   foreach (string header in headers)
                   {
                       string strk = "";
                       while (!sr.EndOfStream)
                       {
                           string[] rows = sr.ReadLine().Split('\t');

                          /////Здесь бы нужен поиск по QuickSearch и в случае успеха номенклатуру не грузить
                           var searchResult = nmks.QuickSearch(new[] { "Name" }, new object[] { "ObjectNomenclature" });
                           ((ObjectNomenclature)searchResult[0]).NomenclatureValue;
                          ////////////////////////////////////////////////////////////­///////////////

                           var nmk = nmks.AddNew();
                           for (int i = 0; i < headers.Length; i++)
                           {
                               if (i == 0 && strk != rows[i])
                               {
                                   strk = rows[i];
                                   //Здесь можно добавить заказ
                               }
                               if (i == 2)
                               {
                                   nmk.Notation.Value = rows[i];
                               }
                               if (i == 1)
                               {
                                   nmk.Name.Value = rows[i];
                               }
                           }
                           nmk.Save();
                       }
                   }
               }
           }
           finally
           {
               //activeForm.Cancel();
           }
 
1. Обозначение номенклатуры должно быть уникально в рамках всей базы. Наименования могут быть одинаковыми. Соответственно, в поиске надо проверять Notation. Либо по наименованию(в случае если обозначение отсутствует). Это зависит от того, как у вас номенклатурный справочник ведётся. Ещё может быть случай, что обозначение совпадает, а наименование - нет.
2. В приведённом коде поиск производится в конкретной папке. Не факт, что уже существующая номенклатура лежит в этой папке.

В общем случае поиск номенклатуры по обозначению может выглядеть так:
Код
var nmks = ExtApp.Application.General.Nomenclature(-1, CatalogOptions.None);//беру весь справочник номенклатуры
......
var nmkNotation = rows[2];//обозначение номенклатуры из файла
var searchResult = nmks.QuickSearch(new[] { "Notation" }, new object[] { nmkNotation });//для наименования соответственно "Name" и rows[1]
if(searchResult != null && searchResult.Any())
{
//есть такая номенклатура
}

Есть ещё вариант поиска объекта по обозначению. Надо только тип объекта указать.
Код
ExtApp.Application.General.GetObjectByNotation()

Ну и можно ещё обрабатывать исключение при сохранении номенклатуры
Код
catch (SqlServerException exception)
{
   if (exception.Code == ErrorCode.NoteNotUnique)
   {
      //обозначение не уникально
   }
}
 
Реализовал первый вариант поиска, но если во втором варианте можно делать поиск объекта по обозначению любого типа, то где здесь указать тип объекта?

ExtApp.Application.General.GetObjectByNotation()

Потребуется поиск папок, заказов на производство, параметров. Второй вариант подойдет для этих целей?

Посмотрел, также базовые объекты по F11, но поле типа объекта там пустое и не очень понятно где ставить тип объекта, как он выглядит. Да и кнопку настройки не вижу в меню, чтобы сконфигурировать интерфейс.
 
Цитата
Николай Спирин написал:
где здесь указать тип объекта?
Второй параметр:
Код
ExtApp.Application.General.GetObjectByNotation(nmkNotation, (long)SystemObjectTypes.Nomenclature);
Цитата
Николай Спирин написал:
Второй вариант подойдет для этих целей?
Смотря как ведёте справочники. Обозначения может и не быть. Параметры в справочнике искать - подойдёт, параметры объекта искать - не подойдёт. Первый способ более гибкий.

Цитата
Николай Спирин написал:
поле типа объекта там пустое
Встаньте на ID. Или FolderID. Или любое другое Свойство-Идентификатор. Покажет какого типа объект с таким идентификатором.

Цитата
Николай Спирин написал:
кнопку настройки не вижу в меню, чтобы сконфигурировать интерфейс
здесь
 
Сергей! В общем загрузка номенклатуры и поиск ее для проверки получился. Но грузить и искать номенклатуру нужно будет с учетом папок и вместе с заказами на производство. Кроме того к каждой номенклатуре должен быть прикреплен техпроцесс, который должен быть создан сам заранее и все материалы загружены заранее, а потом должен как-то сопоставлен с номенклатурой изделия. Для таких загрузок с иерархией был бы  удобен формат json. В литературе пишут, что должна быть подключена дополнительная библиотека. Подскажите какая лучше подойдет для Вогбита, или ели есть выложите пример загрузки-выгрузки данных в этом формате.
 
Цитата
Николай Спирин написал:
каждой номенклатуре должен быть прикреплен техпроцесс, который должен быть создан сам заранее и все материалы загружены заранее, а потом должен как-то сопоставлен с номенклатурой изделия. Для таких загрузок с иерархией был бы  удобен формат json.
Вставлю пять копеек...

Тут дело не в формате.
А в том, что номенклатурная позиция одна отдельно взятая и данные для производства - это как-бы небо и земля.
Номенклатура - тут всё элементарно. Запись одна в справочнике. Поискали, есть - хорошо, нет - добавили запись новую. Всё, конец.

А если взять, например, техпроцесс, то это совсем другого порядка песня.
Это коллекция, в ней компоненты, параметры со значениями, связанные объекты с определёнными типами связей, связанные объекты с тем, на основе чего созданы компоненты.
И это только одна деталь.
В заказе в вашем случае таких десятки.
+ есть узлы.
Есть спецификации "конструкторские" и "заказные".
Есть связи между "операциями".
И всё это вместе представляет собой данные, чтобы потом одной кнопкой в производстве получались нужные задания, в разных случаях они правильно обрабатывались, где нужно работы объединялись в одно задание, где не нужно, чтобы не объединялись, чтобы по мере выполнения одной группы заданий предлагалась для выдачи следующая группа и т.д.

В общем, такую конструкцию из данных правильно соорудить - это совсем не одну запись найти - добавить...
В самом VOGBIT есть плагины специальные, в них прописана логика на всевозможные случаи. Как когда что заполнять, что с чем связывать.
Благодаря этому для пользователя всё легко и просто. Мышкой перетащил строчку из одного окошка в другое, и всё само создалось, связалось, думать не нужно, как там что внутри устроено.
А "генератор" так и вообще при определённой настойке сам, автоматически, всё это создаёт, заполняет, находит что нужно и использует, что нужно создаёт...
Эта часть программы внутри совсем не тривиальная.

Так вот.
Если вы хотите зачем-то это всё дело (не только номенклатуру, но и спецификации, техпроцессы) из VOGBIT читать, то это, в общем, не сложно. Берите, считывайте, сохраняйте в файл. Какого хотите формата.
Если же вы хотите это снаружи в VOGBIT зачем-то создавать, то тут, мягко говоря, вам работы надолго хватит. Очень надолго...
И, главное, непонятно зачем.
Намного проще в самом VOGBIT создавать то, что ему нужно для работы (техпроцессы те же). Он прекрасно это умеет. Это намного легче будет, чем программно снаружи пытаться соорудить то же самое в базе. Быстрее и легче просто будет эти техпроцессы в самом VOGBIT и сделать. Даже вручную, думаю. Не говоря уже о том, если "генератором".
В общем смысл в вашем конкретном случае создавать ТП в VOGBIT программой снаружи мне просто не понятен.
Но так-то дело ваше... Хотите, есть время и желание - изучайте, создавайте. Ничего невозможного нет. Просто придётся изучать, как это всё устроено, писать кучу кода, тестировать это потом всё на пригодность.
Хотите? Занимайтесь))
Изучайте. Начать вот с этого можно...

А формат файла какой - json, xml, самодельный какой-нибудь - это 25-й вопрос в данном случае. Какая разница из какого формата данные читать (писать в него). Вопрос в том, что и как делать с тем, что считал из файла - вот где тут 99 процентов, собственно, кроется. А формат файла то без разницы какой, по большому счёту.
 
В .NET есть "свои" средства для работы с JSON. Из сторонних можно ньютонсофт посмотреть. Вогбиту без разницы. Создание\изменение объектов всё равно придётся ручками прописывать. Ну и как сказано выше, цель всего этого мероприятия не очень понятна.
 
Сергей, я не точно выразился, техпроцесс не должен создаваться сам, тем более в Вогбите есть генератор ТП. Достаточно найти номенклатуру изделия с которой связан свой техпроцесс, а если номенклатура не найдена, то добавить ее и потом к ней сгенерировать техпроцесс, или, если это возможно, идентифицировать уже существующий техпроцесс как коллекцию с компонентами и связать его с новой номенклатурой. В примере подробного описания техпроцесса видно, что изделие Кронштейн связан с ТП1. Возможно эту связь один раз можно установить программно или вручную или наконец сгенерировать для новой номенклатуры новый техпроцесс, а потом пользоваться этой связкой при загрузке Заказа на производстве со своим списком номенклатуры изделий.

[img]data:image/png;base64,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[/img]
 
Сергей! Все таки, возможно загруженную или созданную новую номенклатурную позицию связать один раз вручную или программно с существующим техпроцессом или даже потом вручную сгенерировать к этой номенклатуре новый техпроцесс? А потом пользоваться этой связкой при последующих загрузках.
 
"Сгенерировать" техпроцесс к уже существующей номенклатуре нельзя. "Генератор" на основании "шаблона" создаёт новую номенклатуру и к ней сам заполняет всё, что нужно.

"Приделать" существующий техпроцесс от одной номенклатуры (ТП не может существовать "оторванный" вообще от номенклатуры, это коллекция, а у коллекции в любом случае есть owner (номенклатура)) к другой номенклатуре - технически возможно, но я бы настоятельно не рекомендовал этого делать. Помимо техпроцесса там ещё много чего есть. Спецификации, в частности, и параметры. Кроме того, есть всё таки разница между "родной" коллекцией компонентов и "связанной" (приделанной от другой номенклатуры), и я не поручусь на 100% процентов, что на "связанных" коллекциях всё и во всех местах будет потом правильно работать.
В общем, я бы так делать не стал.

И в первом, и во втором случае намного проще взять "нормальную" номенклатуру, правильно созданную "генератором", и просто её переименовать. Если Вам хочется, чтобы она по другому называлась как-то.
 
Остается одно. Созданную номенклатуру вместе с id выгрузить в 1С, там ее сопоставить с номенклатурой 1С и выгружать вместе с id в Вогбит. Но техпроцесс то можно, наверное, создать в Вогбит программно и присвоить ему номер из 1С, а потом заполнить его номенклатурой найденной по id?
 
Цитата
написал:
вот пример простого плагина, который добавляет кнопку в Toolbar окна номенклатуры.
При нажатии на кнопку создаётся и показывается форма "Коллекции компонентов".
Пример написан на C#
[CODE][/CODE]
Добрый день!
Поместила данную библиотеку в папку plugin. Кнопка не появилась на панели во вкладке Номенклатура.
Нашла кнопку только в "Настройка -> Команды". (Прикрепляю изобрежения)
Подскажите, как добавить кнопку на панель?
1.png (34.67 КБ)
2.png (164.39 КБ)
3.png (38.08 КБ)
 
Здравствуйте!
Перетащите мышкой из "команд" (рис.3) в нужное место на панели инструментов
 
Здравствуйте! Пишу плагин. Есть вопросы по чтению и записи данных. К примеру, как получить список всех элементов номенклатуры (деталей), чтобы потом затолкать его в LookupEdit?
Изменено: Bochik_88 - 19.10.2024 18:14:27
 
Здравствуйте!
Код
var nmkDataSource = ExtensibleApplication.App.General.Nomenclature(-1, CatalogOptions.None);
 
Цитата
написал:
var nmkDataSource = ExtensibleApplication.App.General.Nomenclature(-1, CatalogOptions.None);

Данный метод возвращает один Nomenclature объект. Как мне из него получить "читабельный" список для отображения на форме?
 
С этим вопросом разобрался, спасибо)
 
Подскажите пожалуйста, как добавлять заказ в разделе "Производственные заказы"?
Ну и соответственно назначать состав и технологию этому заказу.

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

Здравствуйте,

Распишу по объектам в БД VOGBIT, что нужно по минимуму для такой задачи создавать в базе. Коллеги подскажут, если нужно, по коду, по тем моментам, которые, возможно, не ясны.

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

Если дальше цель стоит создать задания для производства по списку этой номенклатуры, то нужно для неё создать и заполнить техпроцесс. По минимуму для создания заданий нужны операции в техпроцессе и для операций должно быть указано место выполнения (участок) и Тшт. В принципе, по минимуму, этого достаточно.

Разберем по шагам.

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

Техпроцесс детали – коллекция компонентов, у которой Owner = номенклатура «Деталь». Тип связи коллекции нужно поставить LT_ManProcess (здесь и далее везде пишу для используемых типов связей, параметров, статусов их идентификаторы). Обозначение коллекции ставьте любое, какое хотите. Статус ставьте тоже любой какой нравится, только НЕ ST_Invalid. Любой другой. Например, ST_Designing.

Дальше добавляем в техпроцесс операции. Операция сама – это номенклатурная позиция. Находим нужную в справочнике и добавляем её, как компонент в коллекцию LT_ManProcess (техпроцесс детали). Тип связи компонента ставим LT_Operation. Количество и единицу измерения не заполняем для этого компонента, оставляем пустыми.

Дальше нужно для операции задать место выполнения и трудоемкость.

Место выполнения (участок), в принципе, у Вас может быть настроено в самом VOGBIT по умолчанию для «операции» в справочнике «Номенклатура». Тогда в техпроцессе уже указывать в явном виде его не нужно, при формировании заданий «подхватится» настроенный по умолчанию участок. Чтобы указать в явном виде для операции место выполнения в техпроцессе, находим в справочнике «Подразделения» нужный производственный участок и добавляем его к компоненту  LT_Operation (операции) в коллекции LT_ManProcess (в техпроцессе), как связанный объект с типом связи LT_Place.

Если вы используете пооперационное нормирование, то чтобы потом создались задания для производства, нужно ещё добавть хоть какую-нибудь «Трудоемкость» к операции. Для этого добавьте параметр T_OPR_HOUR (float) к компоненту LT_Operation (операции) в коллекции LT_ManProcess (в техпроцессе), значение = Тшт в часах.

Всё, по минимуму – достаточно.

Т.е. создаете номенклатуру деталей. К каждой детали коллекцию LT_ManProcess (техпроцесс), в неё добавляете нужные компоненты LT_Operation (операции), к каждому такому компоненту добавляете связанный объект LT_Place (подразделение, участок), и параметр T_OPR_HOUR (трудоемкость).

На этом то, что вставлять в «заказ» у нас есть.

Переходим к созданию и заполнению «Производственного заказа».

Создаёте номенклатурную позицию – «Заказ». Обозначение и наименование – по Вашему усмотрению.

Для этой номенклатурной позиции создаёте коллекцию компонентов LT_MAN_CHART (тех. карта заказа). Обозначение коллекции ставьте любое, какое нравится, статус ставьте ST_InWork (с любым другим её не будет видно в окне «Производственные заказы»).

В эту коллекцию LT_MAN_CHART добавляете из номенклатуры созданные нами ранее «Детали», как компоненты. Тип связи при этом можете использовать, в принципе, почти какой хотите, тут нет особых ограничений, но стандартно используется LT_Product (изделие). В некоторых случаях - LT_Part (деталь), LT_Assemble_Unit (сборочная единица). Обязательно поставьте для компонентов в коллекции LT_MAN_CHART (позиций в карте заказа) количество и единицы измерения (в подавляющем большинстве случаев ставится «шт»).

В принципе, вроде, всё. Таким образом у Вас получится заказ, тех. карта заказа, в ней детали с указанием количества, у деталей техпроцессы с операциями. Для того, чтобы «запустить в производство» по самому минимуму достаточно. А дальше уже можно этот «скелет» наращивать «мясом» по мере надобности, в зависимости от задачи.

P.S.

В заключении вставлю свои 5 копеек…

Для пользователей, у которых «каждый новый заказ – это новая номенклатура», но при этом само производство довольно простое, в современных версиях VOGBIT есть некоторое количество штатных, встроенных функций, которые довольно сильно зачастую облегчают жизнь простым пользователям, без необходимости прибегать к программированию. Например:

  • Штатная встроенная функция «загрузки» номенклатуры из Excel файла;

  • Функция создания номенклатуры «из списка файлов» - это для случаев, когда в качестве исходных данных по некоему «заказу» на входе у пользователя есть папка с какими-нибудь PDF с чертежами деталей или DXFс развертками и т.п. Есть в современном VOGBIT такая функция – взять мышкой эти файлы из папки и «перетащить» их в окно VOGBIT. И при этом создается в базе номенклатура с названием, как имя файла, и сами файлы сразу к ней прицепляются. Умеет эта штука даже «разбирать» сама название файла автоматически на «обозначение» и «наименование», но только для случаев, когда имена файлов составлены по принципу <обозначение_наименование> (или наоборот).

  • Если по содержанию техпроцесса много деталей в заказе ничем не отличаются, то необязательно в современном VOGBIT делать отдельный техпроцесс на каждую такую деталь. Можно сделать штатными средствами в базе один «техпроцесс-шаблон», а потом просто добавить (не создавая технологии для каждой отдельно) детали в состав производственного заказа, выделить там их все и сказать «делать все, вот по этому шаблону техпроцесса». И всё, можно сразу создавать задания для производства.

Вот эти вещи есть в VOGBIT (в последних версиях) уже готовые, "из коробки".

 
Доброго времени суток. Набросал код, три основных вопроса:
1. Правильные ли объекты я использую
2. Правильно ли добавляю компонент в коллекцию
3. В какой папке должна создаваться номенклатура заказа, которая будет потом видна во вкладке 'Производственные заказы'

           //--------------------------------------------
           var mainID = 157194;    // ID папки 'Основная'
           var ordersID = 555555;  // ID папки 'Заказы'
           var tokarkaID = 666666; // ID номенклатуры 'Токарка'

           // Создаем папку заказчика
           Folder newFolder = ExtApp.Application.General.Folders(mainID).AddNew();
           newFolder.Name.Value = "Роскосмос";
           newFolder.ParentID.Value = ordersID;
           newFolder.Save();
           // Создаем номенклатуру в этой папке
           var nmk = ExtApp.Application.General.Nomenclature(newFolder.ID.AsLongInt, CatalogOptions.None).AddNew();
           nmk.Notation.Value = "DRAW.001.01";
           nmk.Name.Value = "Фланец";
           nmk.Save();

           // Дальше не знаю, на ощупь писал
           ComponentCollection collection = new ComponentCollection();
           collection.LinkTypeNotation.Value = "LT_ManProcess";
           collection.StatusNotation.Value = "ST_Designing";
           collection.Notation.Value = "Техпроцесс";

           Components component = new Components();
           component.OwnerID.DefaultValue = collection.ID.AsLongInt; // Компонент в коллекцию так добавляется?
           component.LinkTypeNotation.DefaultValue = "LT_Operation";
           component.Params["T_OPR_HOUR "].Value = 1;
           component.SourceNomenclatureID.DefaultValue = tokarkaID;

           // Создаём номенклатуру заказа
           // Дальше ключевой вопрос - где создавать номенклатуру?
           var zkz = ExtApp.Application.General.Nomenclature(КАКОЙ ID СЮДА ПИСАТЬ?, CatalogOptions.None).AddNew();
           //--------------------------------------------
Изменено: Dsolovjev - 10.03.2025 14:58:49
Страницы: Пред. 1 2 3 След.
Сейчас на форуме
Всего зарегистрированных пользователей: 4496
Приняло участие в обсуждении: 437
Всего тем: 804
Всего сообщений: 6067

×
Вход на сайт