Проблема
При формировании документа Расчет и установка себестоимости в Розница 2.2.7.39 летит ошибка, в серверном варианте:
{ОбщийМодуль.ЗапасыСервер.Модуль(437)}: Ошибка при вызове метода контекста (Выполнить)
Результат = Запрос.Выполнить();
по причине:
Ошибка выполнения запроса
по причине:
Ошибка при выполнении операции над данными:
Ошибка SQL: Деление на 0
В файловом варианте:
Деление на 0 значения типа Numeric
Решение
Когда не формируется себестоимость это печальбеда для руководителя, но это нормально, если магазины живут от инвентаризации до инвентаризации и на складах множество номенклатуры с минусовыми остатками. Программа не посчитает себестоимость, так как в формуле ниже нет проверки деления на ноль:
СУММА(СебестоимостьПоПоступлениям.СуммаОборот) / СУММА(СебестоимостьПоПоступлениям.Количество) КАК Стоимость
Решение есть, идём в конфигуратор в общий модуль ЗапасыСервер.
Нас интересует Функция СформироватьУзлыКорректировкиСписанияСтоимости
В ней ищем Запрос:
СГРУППИРОВАТЬ ПО
СебестоимостьПоПоступлениям.Магазин,
СебестоимостьПоПоступлениям.Номенклатура,
СебестоимостьПоПоступлениям.Характеристика,
СебестоимостьПоПоступлениям.МагазинОтправитель
Никакой проверки 1Сниками на нулевые значения не написано, поэтому допишем её:
СГРУППИРОВАТЬ ПО
СебестоимостьПоПоступлениям.Магазин,
СебестоимостьПоПоступлениям.Номенклатура,
СебестоимостьПоПоступлениям.Характеристика,
СебестоимостьПоПоступлениям.МагазинОтправительИМЕЮЩИЕ
СУММА(СебестоимостьПоПоступлениям.Количество) <> 0
Все, теперь деления на ноль не будет и себестоимость будет корректно формироваться.
Добрый день. Подскажите, существует ли решение данной проблемы в базовой версии программы?
Добрый день. Конечно, решение идентичное.
Не совсем корректно с точки зрения запросов, ИМЕЮЩИЕ лишние записи убирают.
лучше
СУММА(СебестоимостьПоПоступлениям.СуммаОборот) / СУММА(ЕСТЬNULL(СебестоимостьПоПоступлениям.Количество, 1))
но не ясно конечно что там в СебестоимостьПоПоступлениям