![]() ![]() |
° Начало ° Ответить ° Статистика ° Регистрация ° Поиск ° RSS ° Wiki ° |
![]() |
Форумы Интермех / Search, ImProject / Api-функции для работы с типом объекта "производственный заказ" |
Автор | Сообщение |
Nat Участник ОАО Радиозавод, Пенза |
Дата: 26 Дек 2012 13:11:16 Уважаемые разработчики и программисты. нужно использовать API-функцию для просмотра состава производственного заказа (дерево). Не смогла найти ее описание и примеры использования, прошу помощи в этом вопросе. Спасибо. |
Jk Участник НПП Интермех |
Дата: 26 Дек 2012 14:42:22 такой функции насколько я знаю - нет |
Nat Участник ОАО Радиозавод, Пенза |
Дата: 26 Дек 2012 15:10:40 PrepareZakazStructure, а лучше PrepareZakazStructureExpand (могу ошибиться в написании). Спасибо |
Jk Участник НПП Интермех |
Дата: 26 Дек 2012 15:59:52 Эти функции возвращают состав заказа, а не "смотрят" его. PrepareZakazStructure Функция возвращает дерево производственного заказа в виде набора данных: Синтаксис: function PrepareZakazStructure(ZakazID: Integer; ArtVerID: Integer): OleVariant; ZakazID - идентификатор объекта производственного заказа ArtVerID - номер версии объекта Результат - набор данных для компоненты TClientDataSet, поля будут практически аналогичные как и в результате функции PrepareExpandArtStructure, но для построения дерева надо использовать поля: ZREC_ID - идентификатор записи в составе, PARENT_ZREC_ID - идентификатор родительской записи в составе. PrepareZakazStructureExpanded Функция возвращает развернутый состав производственного заказа в виде набора данных: Синтаксис: function PrepareZakazStructureExpanded(ZakazID: Integer; ArtVerID: Integer): OleVariant; ZakazID - идентификатор объекта производственного заказа ArtVerID - номер версии объекта Результат - набор данных для компоненты TClientDataSet, поля аналогичные как в функции PrepareArticleStructure. |
Nat Участник ОАО Радиозавод, Пенза |
Дата: 26 Дек 2012 16:21:32 Спасибо за ответ. извините за неточность выражения. Может быть у Вас есть пример использования PrepareZakazStructureExpanded в алгоритме JavaScript. |
Jk Участник НПП Интермех |
Дата: 26 Дек 2012 16:36:18 ° Поправил: Jk test.js: SApp = new ActiveXObject("S4.TS4App"); SApp.Login(); data = SApp.PrepareZakazStructureExpanded(2220, 0); cds = new ActiveXObject("CDSAutomation.CDSAutoObject"); cds.Data = data; s = ""; while (!cds.eof()) { s = s + cds.FieldByName("DESIGNATIO") + " " + cds.FieldByName("COUNT_PC")+ "\n"; cds.Next(); } WScript.Echo(s); для его работы надо cdsautomation.dll |
Nat Участник ОАО Радиозавод, Пенза |
Дата: 26 Дек 2012 17:19:15 Спасибо буду пробовать. |
Nat Участник ОАО Радиозавод, Пенза |
Дата: 26 Дек 2012 18:05:13 Расскажите подробнее про PrepareWhereUsedArticle2 3673, -1,0,"DESIGNATIO",2, res Спасибо |
Jk Участник НПП Интермех |
Дата: 27 Дек 2012 15:19:23 Nat это аналог PrepareWhereUsedArticle |
Nat Участник ОАО Радиозавод, Пенза |
Дата: 1 Фев 2013 08:43:24 ° Поправил: Nat 1 |
Katenok-13 Участник ОАО "Бийский котельный завод" |
Дата: 1 Фев 2013 12:02:43 Цитата: Nat Вопрос: в составе есть объекты из Imbase и у них нет инвентарного номера, обозначения.У них наверняка есть идентификатор объекта и ключ Imbase. Первичны - идентификаторы объектов, на них всё строится. У нас на заводе для материалов введены коды, которые выполняют для материалов ту же роль, что обозначение для обычных деталей и сборок. |
Nat Участник ОАО Радиозавод, Пенза |
Дата: 4 Фев 2013 08:34:21 Спасибо Katenok за отклик. Оказалось ключ есть в неописанных полях функции. |
v7 Участник ОАО "ПМЗ ВОСХОД", Павлово |
Дата: 5 Июн 2013 16:29:26 Существуют ли api-функции, которые позволяют редактировать состав производственного заказа: добавлять или удалять объекты? |
Jk Участник НПП Интермех |
Дата: 5 Июн 2013 18:50:41 v7 существуюет |
Jk Участник НПП Интермех |
Дата: 6 Июн 2013 18:04:34 вот они: Функция получения COM-объекта для работы с ПЗ function OpenPZakaz(ZakazID, ArtVerID, WorkCopy: Integer):IPZakaz; ZakazID - идентификатор объекта ПЗ ArtVerID - номер версии ПЗ WorkCopy - 0 архивная копия, 1 рабочая копия (если у ПЗ есть документ, то при взятии на редактирование есть две версии состава - архивная и рабочая) Функции интерфейса IPZakaz: Сохранить изменения в заказе в базу. procedure Save; Получить первый дочерний элемент в заказе function GetFirstChild(ParentNode: Integer): Integer; ParentNode - идентификатор родительского элемента Результат - znNil если нет дочерних элементов или идентификатор. Получить следующий элемент в заказе function GetNextSibling(Node: Integer): Integer; Node - идентфикатор элемента за которым требуется полчить следующий Результат - zNil если Node был последним в своей ветке или идентификатор следующего элемента Удалить элемент procedure DeleteNode(Node: Integer); Node - идентфикатор элемента Получить параметр элемента function GetFieldValue(Node: Integer; const FieldName: WideString): WideString; Node - идентфикатор элемента FieldName - имя поля, доступны следующие параметры - ZREC_ID, PART_AID, PART_VER, COUNT_PC, MU_ID, RAZDEL, NOTE, LINK_TYPE, FORMAT, PR_ID, OP_CODE, OP_VARS, Z_MATERIAL, POSITIO, DESIGNATIO, NAME, DOC_ID, DOC_VER_ID Результат - значение параметра Изменить параметр элемента procedure SetFieldValue(Node: Integer; const FieldName: WideString; const FieldValue: WideString); Node - идентфикатор элемента FieldName - имя поля, доступны следующие параметры - COUNT_PC, MU_ID, RAZDEL, NOTE, FORMAT, PR_ID, OP_CODE, OP_VARS, Z_MATERIAL, POSITIO FieldValue - новое значение поля Добавить элемент в состав заказа function AddChild(ParentNode, PartAID, PartVerID, razdel: Integer; Count: Double; MuID: Integer; const Position, Note: WideString; LinkType: PcLinkType; prID: Integer; OpCode: ZakazRecordStatus; OpVars: Integer; const Purchased, Params: WideString): Integer; ParentNode - родительский элемент, куда добавить компонент PartAID - идентификатор объекта, который будет добавлен PartVerID - номер версии объекта, или -1 (ссылка на актуальну версию объекта) razdel - раздел спецификации Count - количество MuID - единицы измерения объекта Position - позиция Note - примечание LinkType - тип связи: 0 - обычная связь, 1 - технологическая связь 2 - производственная prID - идентификатор признака принадлежности, (по умолчанию -1) OpCode - код типа связи в составе 0 - запись скопирована из конструкторского состава, 1 - новая добавленная запись, 2 - запись помечена как удаленная, 3 - запись помечена как изменённая, 4 - активный заменитель, 5 - неактивный заменитель OpVars - зарезервировано, значение - 0 Purchased - зарезервировано, значение - "" Params - зарезервировано, значение - "" Специальные константы: znRoot = 0; - идентификатор корневого узла заказа znNil = -1; - идентификатор "несуществующего" узла заказа |
v7 Участник ОАО "ПМЗ ВОСХОД", Павлово |
Дата: 7 Июн 2013 08:52:37 Спасибо |
v7 Участник ОАО "ПМЗ ВОСХОД", Павлово |
Дата: 31 Июл 2013 10:07:23 Есть какой-нибудь небольшой пример использования этих функций в качестве инструмента на VBScript? |
Nat Участник ОАО Радиозавод, Пенза |
Дата: 9 Сен 2013 16:27:16 Подскажите, есть ли в результирующем наборе данных функции PrepareZakazStructure поля с информацией о состоянии подузла, т.е. добавлен, изменен и т.д. (то что выделяется шрифтом и цветом в дереве ПЗ) и дата этого изменения? |
Jk Участник НПП Интермех |
Дата: 9 Сен 2013 18:17:31 ° Поправил: Jk Nat да, поле OPCODE, но там нет информации об удаленных узлах |
Nat Участник ОАО Радиозавод, Пенза |
Дата: 10 Сен 2013 09:49:29 ° Поправил: Nat Jk, сасибо за ответ. Вы предугадали следующий вопрос. Задача в том, чтобы определить перечень узлов из ПЗ, в составе которых прошло изменение и дату изменения - для минимизации объема интеграции с другой системой. Поэтому действительно нужна информация об подузлах, помеченных удалением. |
Jk Участник НПП Интермех |
Дата: 10 Сен 2013 11:49:31 Цитата: Nat и дату изменениятакой информации в Search в принципе нет Цитата: Nat нужна информация об подузлах, помеченных удалением.эту информацию можно получить через ф-ию OpenPZakaz и методы интерфейса IPZakaz (выше в теме описано) |
Katenok-13 Участник ОАО "Бийский котельный завод" |
Дата: 16 Сен 2013 08:42:19 Nat, у нас как раз стоит такая же задача - интеграция производственных заказов с другой системой. Предлагаю обмениваться наработками. Мой Skype: Katenok-13. |
На форуме сейчас: гостей - 1 пользователей - 0 |
Наибольшее количество посетителей: 87 [1 Янв 2017 02:23:26] гостей - 87 / пользователей - 0 |
miniВВ © 2001-2022 |