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

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Marisha_P
Местный житель
Сообщения: 232
Зарегистрирован: 10 ноя 2010, 13:49

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

Сообщение Marisha_P »

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

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

Сообщение n0where »

Создать алгоритм, в котором системный алгоритм должен быть 52.
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
oiko
Местный житель
Сообщения: 417
Зарегистрирован: 29 мар 2005, 17:49

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

Сообщение oiko »

Пиши свой алгоритм ява-скриптами на основе 52.
Dmitry_Sol
Постоянный гость
Сообщения: 76
Зарегистрирован: 07 июн 2007, 12:32
Откуда: Витебск
Контактная информация:

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

Сообщение Dmitry_Sol »

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

Алгоритм расчета себестоимости ГП в накладной используя данные ПЗ.
Основан на 52 алгоритме.
Для импорта надо в модуле "Планирование Производства" -Операции-Импорт данных из XML файла.
Тип данных для импорта - "Алгоритм javascript" и Алгоритм расчета( сист №52)
Marisha_P
Местный житель
Сообщения: 232
Зарегистрирован: 10 ноя 2010, 13:49

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

Сообщение Marisha_P »

Подскажите, как осуществить преобразование типов.
spsopr.price=double(Replace(katparty.name,',','.'))*spmnpl.cena
Пробую так - пишет предполагается наличие объекта... Если брать переменную типа double изначально, то все перемножается корректно
Dmitry_Sol
Постоянный гость
Сообщения: 76
Зарегистрирован: 07 июн 2007, 12:32
Откуда: Витебск
Контактная информация:

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

Сообщение Dmitry_Sol »

Вы совершили обычную ошибку новичка.Язык javascript очень отличается от atlantis.

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

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

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

Вот этот код должен у вас заработать.
Marisha_P
Местный житель
Сообщения: 232
Зарегистрирован: 10 ноя 2010, 13:49

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

Сообщение Marisha_P »

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

запятую меняет на точку нормально....
savov
Местный житель
Сообщения: 589
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж ОАО Верофарм. Воронеж

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

Сообщение 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).
Marisha_P
Местный житель
Сообщения: 232
Зарегистрирован: 10 ноя 2010, 13:49

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

Сообщение Marisha_P »

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