Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 мар 2024, 18:38

Конфигурация отчета формирования цен в 1с 7.7 производство+услуги+бугхалтерия

Автор Евгения 883, 01 фев 2013, 18:49

0 Пользователей и 1 гость просматривают эту тему.

Евгения 883

При формировании отчета формирования цен выбивает ошибку



ЦенаВалютеУчета = ЕдиницаТовара.Коэффициент/ЦенаВСпр.Единица.Коэффициент*
{Отчет.ПодборЦен.Форма.Модуль(163)}: Деление на 0

Что это может быть?                  
Очень нужно срочно!!!!!!!!!
                             

Mitay_D

Это значит, что ЦенаВСпр.Единица.Коэффициент = 0; Можно заменить на
ЦенаВалютеУчета = ЕдиницаТовара.Коэффициент/?(ЦенаВСпр.Единица.Коэффициент = 0,1,ЦенаВСпр.Единица.Коэффициент);

Евгения 883

Извините,я пока еще не очень сильна в конфигурировании.У меня в конфигурации так:
   ЦенаВалютеУчета = ЕдиницаТовара.Коэффициент/ЦенаВСпр.Единица.Коэффициент*
                     глПересчет(ЦенаВСпр.Цена,ЦенаВСпр.Валюта,РабочаяДата(),Константа.БазоваяВалюта,РабочаяДата());                  
                             
   УчетнаяЦена = ЦенаВСпр.Владелец.УчетнаяЦена.Получить(РабочаяДата());
   УчетнаяЦена = УчетнаяЦена * ЕдиницаТовара.Коэффициент;
   
   НаценкаВСпр = ЦенаВСпр.Наценка;
                  
   НаценкаОтСебестоимости = Окр(?(Себестоимость<=0,0,(ЦенаВалютеУчета-Себестоимость)/Себестоимость*100),2,1);                        
   НаценкаОтУчетнойЦены = Окр(?(УчетнаяЦена<=0,0,(ЦенаВалютеУчета-УчетнаяЦена)/УчетнаяЦена*100),2,1);

Как мне здесь исправить?

Herby

можно и не исправлять ничего. просто установить в справочниках нужные ненулевые значения.
в принципе это не явная ошибка конфигурации, здесь просто нет проверки деления на нуль.

ЦенаВСпр.Единица.Коэффициент*                     глПересчет(ЦенаВСпр.Цена,ЦенаВСпр.Валюта,РабочаяДата(),Константа.БазоваяВалюта,РабочаяДата())

здесь либо первый множитель равен нулю, либо значение функции глПересчет - равно нулю.

вы можете просто проверку добавить на значение делителя, чтобы не было такой ошибки, и выдавать сообщение: "ЦенаВалютеУчета невозможно рассчитать из-за того, что значение <чего-то> равно нулю".

т.е. перед расчетом ЦенаВалютеУчета, вы сначала проверяете значение делителя: если он больше нуля, то рассчитываете ЦенаВалютеУчета по существующей форме, иначе не рассчитываете и выдаете сообщение.

Евгения 883


Herby

Цитата: Евгения 883 от 04 фев 2013, 12:48
А как можно это сделать?

что именно сделать, проверку или в справочниках установить не нулевые значения?

Евгения 883


Herby

Цитата: Евгения 883 от 04 фев 2013, 12:52В справочникх установить не нулевые остатки

какие остатки? в расчете, в приведенном вами примере, я их не вижу.

вам нужно посмотреть чему равен коэффициент единицы (в карточке номенклатуры - кнопка "Единицы" - откроется окно, в нем посмотреть значения в колонке "Коэфф", если пустое - установить не пустое)



Евгения 883


Herby

Цитата: Евгения 883 от 04 фев 2013, 13:18
Странно,стоит коэфф-1.  В чем же тогда проблема?


значит функция глПересчет возвращает нуль.
отладчиком пользоваться умеете? надо посмотреть почему она возвращает нуль. какой-нибудь курс валюты не установлен или сама цена. в общем лучше отладчиком воспользоваться, чтобы не гадать

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск