Страница 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
Спасибо за помощь! Ошибка была в том, что я не правильно указала название объекта:)