Страница 2 из 3
Re: Java
Добавлено: 14 дек 2010, 12:24
Vik
sildae писал(а):objAccT.setRel(34, baseDoc.nrec, 17);
Message(objAccT.cObject);
выдает пустое сообщение
А у меня в примере разве так написано? Вы установили связь, а как же позиционирование?
Re: Java
Добавлено: 14 дек 2010, 12:31
sildae
baseDoc.setPosition(curBaseDoc());
objAccT.setRel(34, baseDoc.nrec, 17);
for (objAccT.getFirst(); ResultOfNavigation; objAccT.getNext())
{
mnPlan.setPosition(objAccT.cObject);
Message(mnPlan.number);
baseDoc.number=mnPlan.number;
baseDoc.rewrite();
}
вот, все работает. Я пыталась с этими цифрами разобраться ,чтобы потом не приставать
Спасибо Вам большое.
Re: Java
Добавлено: 14 дек 2010, 12:33
Vik
Пожалуйста. Только учтите, что в таком случае у вас будет присвоен номер последнего из связанных заказов, при условии, если их может быть несколько.
И, кстати, не путайте понятие Java и Java Script, это совершенно разные вещи! )
Связи в Java
Добавлено: 27 дек 2010, 15:42
zna
При поиске связей документов удобно использовать метод "Найти связь с использованием объектов". Не надо думать о полях cPos, cObject. Указываете два объекта, позиционируетесь на записях- и находите связь (или её отсутствие). Проверено.
Re: Java
Добавлено: 30 авг 2011, 23:22
shurik--1
Вопрос по стандартным функциям Java в Галактике:
библиотека "Работа с шаблонами связей"
фрагмент взят из справки Галактики:
function RltGetNextDoc()
Функции навигации по найденным документам (по установленному уровню).
Документ записывается в структуру Doc, где
wLevel - уровень вложенности
TypeOwn - тип документа-источника
cOwner - ссылка на документ-источник
TypeObj - тип документа-приемника
cObject - ссылка на документ-приемник
cObjRltTmpl - ссылка на шаблон связей
Объясните, пожалуйста, что это за структура и каким образом записать в неё и вытянуть данные.
Re: Java
Добавлено: 31 авг 2011, 09:36
zna
Этот объект, судя по всему, используется в тех случаях, когда алгоритм Java применяется для документов, связанных с помощью шаблонов связей: Планирование производства-> Настройка-> Шаблоны связей между объектами. Поэтому сначала надо понять, насколько Вам полезно использование шаблонов связей. Мои не очень настойчивые попытки понять, что такое "шаблон связей" и какую пользу он может принести, к успеху не привели. Может, кто-нибудь здесь разъяснит?
Re: Java
Добавлено: 31 авг 2011, 12:17
shurik--1
Шаблон связей мне был нужен для того, что-бы определить список входящих документов через java-крипт. Если знаете другой способ, как определить список входящих документов текущего документа, с последующими арифметическими операциями над их полями, буду очень вам признателен!
Re: Java
Добавлено: 31 авг 2011, 15:38
zna
Для доступа в jave к списку входящих документов для данного документа шаблон связей не нужен. Используйте объекты Objacc- заголовки таблицы связей и SpObjacc- таблицу спецификации связей. Приведу пример фрагмента моего кода:
Код: Выделить всё
CurPl = GetCurPl(); //Текущий документ
MnPlan.setPosition(CurPl);
Objacc.toIsh(toPrZak,CurPl); Objacc.getFirst(); //Выбрали заголовок первой связи, подключенной к "Исходящим"
do
{
if(MnPlan.setPosition(Objacc.Kuda) == true && MnPlan.Shablon == PKsyr) //Нашли сырьевую ПК
{
MnPlanSyr = MnPlan.Nrec;
ObjAccNrec = Objacc.Nrec; //Запомнили нужный заголовок связи
break;
}
}
while(Objacc.getNext() == true)
if(ObjAccNrec > 0)
{
Objacc.setPosition(ObjAccNrec); //Встали на нужный заголовок связи
SpMnPlIzd.toMnPlan(CurPl); // Строки текущего документа
SpMnPlSyr.toMnPlan(Objacc.Kuda); // Строки исходящего документа
if(SpMnPlSyr.getFirst() == true) // Начало поиска и обработки связанных строк
{
SpMnPlan.setPosition(SpMnPlSyr.cSpMnPla);
if(SpMnPlIzd.getFirst() == true)
{
do
{
SpMnPlIzd.getFirst();
do
{
if(SpObjacc.FindSvyaz(SpMnPlIzd,SpMnPlSyr) == true) iSchSvSyr++;
if(iSchSvSyr > 1)
....
Здесь используются методы
Objacc.toIsh(toPrZak,CurPl)- установить ограничения по исходящим,
FindSvyaz- найти связь, используя объекты и т.д...
Re: Java
Добавлено: 31 авг 2011, 20:31
shurik--1
Спасибо за ответ!
Дело в том что в Java я новичек. Если можно, разъясните пожалуйста:
1. Функция GetCurPl - она взята из стандартных библиотек? Добавил все библиотеки в настройках алгоритма, но Галактика эту функцию не опознала
2. Objacc.toIsh(toPrZak,CurPl) - непонятно назначение переменной toPrZak
3. Посоветуйте, есть ли какая-либо справочная информация по Java в Галактике, кроме встроенной справки?
Re: Java
Добавлено: 01 сен 2011, 10:08
zna
Пожалуйста.
0.Это понятно.
1.GetCurPl - это не библиотечная функция, а переменная пользователя, указанная в окне настройки алгоритма. С её помощью передаётся Nrec документа, из которого запускается алгоритм. Лишние библиотеки не добавляйте, они тормозят.
2.Objacc.toIsh(toPrZak,CurPl)- это метод, устанавливающий ограничения на таблицу заголовков связей: выбрать все заголовки связей, подключенных на вкладку "Исходящие" к документу с Nrec = CurPl. toPrZak- константа, отражающая тип документа-произв.заказ.
3.Есть:
3.1 Файлик справки MnfJSSDK.chm, могу выслать на Ваш e-mail. Особых надежд не питайте, убогонькая справка;
3.2 Любое руководство по java для html. Применять, творчески фильтруя информацию- java в галактике отличается от java в html;
3.3 Примеры java- алгоритмов, поставляемые с системой.
Спрашивайте и далее, по возможности отвечу.
Re: Java
Добавлено: 06 сен 2011, 21:16
shurik--1
Спасибо большое! Ваша помощь очень помогла!
пришлите пожалуйста файл справки на
shurik--1@mail.ru
Re: Java
Добавлено: 07 сен 2011, 09:16
zna
Рад помочь, файлик отправил. Если не трудно, отметьте мой "reputation point".
Re: Java
Добавлено: 19 сен 2011, 16:49
lStep
Из документации
"Разработка пользовательской библиотеки функций для алгоритма JavaScript"
пытаюсь скомпилировать пример:
Код: Выделить всё
//----------------------------------------------------------------------
#include oiJSWork.vih
#include Steck.vin
// подключаем прикладной объект для использования его функции
#include oGetCfgParams.vih
// имя разрабатываемого интерфейса JS_Obj
VipInterface JS_Obj implements oGalScriptStdF #Licensed_Free;
Interface JS_Obj'' (,hcNoContext,) EscClose, Cyan;
....
.... и т.д.
Где взять файлы
Steck.vin и objintpl.vin ??
У кого есть поделитесь пожалуйста.
СПАСИБО!
Re: Java
Добавлено: 19 сен 2011, 16:53
Vik
e-mail ?
Re: Java
Добавлено: 19 сен 2011, 17:10
Dmitry_Sol
Там двумя этими файлами не обойдешься, это верхушка айсберга. oiJSWork.vih потребует наличия -oiJSWork.obj, потом понадобится objintpl.vin. А затем окажется, что нужна половина исходников из M_MNPLAN и М_SCRIPTS
В итоге я два дня выковыривал файлы из исходников, но результатом доволен. Написал уже несколько собственных библиотек, например: Вызов произвольных интерфейсов,через механизм RunanyView, автоматическую привязку проводок при оприходовании, работу с листом замен и т.д.
Если интересно , пиши в личку.