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

Алгоритм пересчета цен

Добавлено: 21 дек 2012, 12:53
Marisha_P
Здравствуйте!
Может кто сталкивался, подскажите, пожалуйста... Нужно создать свой алгоритм расчета цен готовой продукции. В модуле "учет в производстве/накладные на приход ГП/Расчет цен готовой подукции" по F7 добавила новый алгоритм. Зашла в редактирование, выбрала метод расчета по пользовательскому алгоритму, выбираю свой алгоритм, а мне выходит сообщение "Для расчета потребностей должен использоваться пользовательский алгоритм, настроенный на основе системного алгоритма №52 "Алгоритм исполнения JavaScript". Что это значит? и где найти этот алгоритм?

Re: Алгоритм пересчета цен

Добавлено: 21 дек 2012, 13:58
n0where
Создать алгоритм, в котором системный алгоритм должен быть 52.

Re: Алгоритм пересчета цен

Добавлено: 21 дек 2012, 15:05
oiko
Пиши свой алгоритм ява-скриптами на основе 52.

Re: Алгоритм пересчета цен

Добавлено: 25 дек 2012, 14:13
Dmitry_Sol
Опубликовал пример алгоритма. Может пригодится :-)
http://code.google.com/p/js-library-gal ... &can=2&q=#

Алгоритм расчета себестоимости ГП в накладной используя данные ПЗ.
Основан на 52 алгоритме.
Для импорта надо в модуле "Планирование Производства" -Операции-Импорт данных из XML файла.
Тип данных для импорта - "Алгоритм javascript" и Алгоритм расчета( сист №52)

Re: Алгоритм пересчета цен

Добавлено: 10 янв 2013, 11:59
Marisha_P
Подскажите, как осуществить преобразование типов.
spsopr.price=double(Replace(katparty.name,',','.'))*spmnpl.cena
Пробую так - пишет предполагается наличие объекта... Если брать переменную типа double изначально, то все перемножается корректно

Re: Алгоритм пересчета цен

Добавлено: 10 янв 2013, 12:43
Dmitry_Sol
Вы совершили обычную ошибку новичка.Язык javascript очень отличается от atlantis.

Для его изучения советую читать специализированный сайт по javascript, например http://javascript.ru/String/replace

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

       str=katparty.name
       num=Number(str.replace(/,/g,"."))
       spsopr.price=num*spmnpl.price

Вот этот код должен у вас заработать.

Re: Алгоритм пересчета цен

Добавлено: 10 янв 2013, 13:25
Marisha_P
спасибо за ссылку!
но всё равно почему-то не работает, не могу понять причины.. в результате отладки получаю
-1,#IND - произведение

запятую меняет на точку нормально....

Re: Алгоритм пересчета цен

Добавлено: 11 янв 2013, 15:28
savov
Marisha_P писал(а):о всё равно почему-то не работает, не могу понять причины.. в результате отладки получаю
-1,#IND - произведение
Если у вас katparty.name преобразовался нормально, spmnpl.price тоже числовое ( выведите Message-ем),
попробуйте
spsopr.price=parseFloat(num*spmnpl.price); ( пример Dmitry_Sol). Можно использовать ф-ию parseFloat для преобразования текста к типу float в тех случаях, когда js может преобразовать числа в строку на каком-то этапе вычислений.
Проверьте, корректно ли описаны свойства katparty.name, spmnpl.price соответствующих объектов ( будьте внимательны, в js различаются переменные с прописными и строчными буквами, т.е. katparty.name не равен katparty.Name).

Re: Алгоритм пересчета цен

Добавлено: 17 янв 2013, 08:25
Marisha_P
Спасибо за помощь! Ошибка была в том, что я не правильно указала название объекта:)