Страница 1 из 1

конвертирование в JavaScript

Добавлено: 22 июл 2015, 13:27
Espada
Здравствуйте! такая проблемка: разрабатываю алгоритм алгоритм для расчёта кое-каких данных в Актах на списание. Так вот мне нужно конвертировать отрицательное число в положительное. например если у нас количество -5(минус пять), то в коде он преобразует значение в 5(пять). не могу найти синтаксис или методы/функции с помощью которых это можно сделать. может кто подскажет, или может есть похожий пример конвертирования, подскажите плиз) Спасибо

Re: конвертирование в JavaScript

Добавлено: 22 июл 2015, 15:03
edward_K
if ??<0 then ??=-??
Я такое в 1С видел :). Ну на Java как нибудь переведете. В галактике есть abs.

Re: конвертирование в JavaScript

Добавлено: 23 июл 2015, 13:11
Espada
edward_K писал(а):if ??<0 then ??=-??
Я такое в 1С видел :). Ну на Java как нибудь переведете. В галактике есть abs.
начал пробовать разные варианты, а у мене ошибка выскакивает: 'ObjAcct' - определение отсутствует. может подскажете что за она и как её исправить?

Код: Выделить всё

ObjAcct.GetObjAcct( toSpSopr,GetSopr() );
ObjAcct.getFirst()
...
пишет, что ошибка в начале первой строки.

Re: конвертирование в JavaScript

Добавлено: 23 июл 2015, 18:49
Dmitry_Sol
Вам нужно использовать Math.abs(x), подробнее можете почитать на javascript.ru

По поводу ошибки в строке 1, вы должны помнить, что Javascript регистрозависим. Убедитесь, что в вкладке "Объекты" есть объект "Заголовок Связи", и в вкладке экземпляры он назван ObjAcc

Re: конвертирование в JavaScript

Добавлено: 29 июл 2015, 12:16
Espada
Dmitry_Sol писал(а):Вам нужно использовать Math.abs(x), подробнее можете почитать на javascript.ru

По поводу ошибки в строке 1, вы должны помнить, что Javascript регистрозависим. Убедитесь, что в вкладке "Объекты" есть объект "Заголовок Связи", и в вкладке экземпляры он назван ObjAcc
Очень помогли, спасибо) всё получилось) может ещё подскажете функцию вызова другого алгоритма?) т.е. в Алгоритме 1 выполняется действие, затем в этом же алгоритме вызывается алгоритм 2, и тоже выполняется)

Re: конвертирование в JavaScript

Добавлено: 30 июл 2015, 00:22
savov
Можно сделать один алгоритм пакетный, в котором указаны два или более алгоритмов, следующих один за другим. При наличии ошибок в каком=то весь алгоритм может прерываться. Это стандартный пакетный алгоритм Галактики. Вызывать из одного алгоритма другой в jave не приходилось.

Re: конвертирование в JavaScript

Добавлено: 30 июл 2015, 12:37
Espada
savov писал(а):Можно сделать один алгоритм пакетный, в котором указаны два или более алгоритмов, следующих один за другим. При наличии ошибок в каком=то весь алгоритм может прерываться. Это стандартный пакетный алгоритм Галактики. Вызывать из одного алгоритма другой в jave не приходилось.
да я сразу так и делал, но проблема в том, что мне в коде первого алгоритма приходится инвертировать значение количества. и использовать это значение во втором алгоритме! если я просто создам группу алгоритмов, чтобы выполнялись один за другим, то я не смогу использовать инвертированное число... использовать код для инвертирования сразу во втором алгоритме тоже не вариант, там не Джава, а просто алгоритм действий...

Re: конвертирование в JavaScript

Добавлено: 30 июл 2015, 15:22
Espada
Нашел функцию RunGrAlg(nrecAlg). только чего-то не получается её реализовать... в скобках пишу Нрек алгоритма, который хочу подгрузить, а он ругается "Не указан пользовательский алгоритм в настройке. продолжение не возможно". Может кто подсказать, что не так? спасибо.

Re: конвертирование в JavaScript

Добавлено: 31 июл 2015, 14:01
Espada
решил отказаться от идей с вызовом алгоритма, решил просто последовательно из запускать в группе алгоритмов. только у меня ещё такой вопрос появился: в коде я использую функцию abs:

Код: Выделить всё

if (Kolvo > 0)
{
Message('Положительное');
};
else
{
SpObjAcct.kolcpos = Math.abs(SpObjAcct.kolcpos);
};                         
но после выполнения алгоритма, не происходит изменений на форме. т.е. если у нас было количество -21, после выполнения вроде должно было получиться 21... но на форме всёравно -21 остаётся. Вроде когда вывожу сообщение

Код: Выделить всё

Message(SpObjAcct.kolcpos);
после выполнения алгоритма. то оно показывает изменение, т.е. выводит 21. но почему-то не изменяет это значение в таблице...

Re: конвертирование в JavaScript

Добавлено: 31 июл 2015, 18:01
Dmitry_Sol
1. Если неободимо сохранить информацию по объекту, нужно использовать функцию rewrite()
в вашем случае это

Код: Выделить всё

if (Kolvo > 0)
{
Message('Положительное');
};
else
{
SpObjAcct.kolcpos = Math.abs(SpObjAcct.kolcpos);
SpObjAcct.rewrite();
};             
2. Для вызова алгоритма, из алгоритма необходимо подключить библиотеку "Планирование\Запуск алгоритмов\Функции для запуска алгоритмов
Заполнить структуру запуска InitTRecAcc. Про ее заполнение подробно описано в библиотеке
например
InitTRecAcc(0,150,0,0,0,0,0,0,0,0,0);
RunAlg();
запустит алгоритм с кодом 150.

Re: конвертирование в JavaScript

Добавлено: 12 авг 2015, 15:03
Espada
Dmitry_Sol писал(а):1. Если неободимо сохранить информацию по объекту, нужно использовать функцию rewrite()
в вашем случае это

Код: Выделить всё

if (Kolvo > 0)
{
Message('Положительное');
};
else
{
SpObjAcct.kolcpos = Math.abs(SpObjAcct.kolcpos);
SpObjAcct.rewrite();
};             
2. Для вызова алгоритма, из алгоритма необходимо подключить библиотеку "Планирование\Запуск алгоритмов\Функции для запуска алгоритмов
Заполнить структуру запуска InitTRecAcc. Про ее заполнение подробно описано в библиотеке
например
InitTRecAcc(0,150,0,0,0,0,0,0,0,0,0);
RunAlg();
запустит алгоритм с кодом 150.
Спасибо функция Rewrite помогла. всё хорошо работает)

Re: конвертирование в JavaScript

Добавлено: 12 авг 2015, 15:08
Espada
Появился ешё такой вопросик. Может у кого-нить есть код функции пересчёта спецификации в акте на списания МЦ из производства? я вручную исправляю количество к использованию на закладке входящие, нужно что бы пересчитало количество на закладке документ.