Имя: Пароль:
1C
1С v8
Розница 2.2 при открытии документа ошибка ДЕление на 0 значения типа Numeric
,
0 I_learn_1c
 
20.06.18
09:44
Доброе утро,
посоветуйте пожалуйста что можно попробовать.

Розница 2.2, в нее конвертацией из 7.7 загружена Установка цен, пустых строк в ТЧ нет, заполнены цены, единицы измерения.
При открытии загруженного документа вылетает ошибка Деление на ноль, если этот же док Скопировать, то форму создания скопированного открывает, тч заполнена как и должна, не изменяя ничего сохраняю копию, она открывается, все хорошо. Что не так может быть с загруженным документом? как понимаю при открытии формы чего-то не хватает, но чего...

вот ошибка
{Документ.УстановкаЦенНоменклатуры.Форма.ФормаДокумента.Форма(3665)}: Ошибка при вызове метода контекста (Выполнить)
    РезультатЗапроса = Запрос.Выполнить();
по причине:
Ошибка выполнения запроса
по причине:
Ошибка при выполнении операции над данными:
Ошибка SQL: Деление на 0
по причине:
Ошибка SQL: Деление на 0
по причине:
Деление на 0 значения типа Numeric

вот запрос на который ругается и не может выполнить
Запрос = Новый Запрос("
    |ВЫБРАТЬ
    |    ВременнаяТаблицаТовары.Индекс                         КАК Индекс,
    |    ВременнаяТаблицаТовары.Номенклатура                   КАК Номенклатура,
    |    ВременнаяТаблицаТовары.Характеристика                 КАК Характеристика,
    |    ВременнаяТаблицаТовары.ВидЦены                        КАК ВидЦены,
    |    ВременнаяТаблицаТовары.Цена                           КАК Цена,
    |    ВременнаяТаблицаТовары.Упаковка                       КАК Упаковка,
    |    ВременнаяТаблицаТовары.ЦенаИзмененаВручную            КАК ЦенаИзмененаВручную
    |ПОМЕСТИТЬ
    |    ВременнаяТаблицаТовары
    |ИЗ
    |    &Товары КАК ВременнаяТаблицаТовары
    |ИНДЕКСИРОВАТЬ ПО Номенклатура, Характеристика, ВидЦены
    |;
    |ВЫБРАТЬ
    |    Товары.Индекс КАК Индекс,
    |    Товары.Номенклатура КАК Номенклатура,
    |    Товары.Характеристика КАК Характеристика,
    |    Товары.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    |    Товары.Номенклатура.ЦеноваяГруппа КАК ЦеноваяГруппа,
    |    ВЫБОР
    |        КОГДА Товары.Номенклатура.ВидНоменклатуры.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыВеденияДополнительныхДанныхПоНоменклатуре.ОбщиеДляВидаНоменклатуры)
    |            ТОГДА ИСТИНА
    |        КОГДА Товары.Номенклатура.ВидНоменклатуры.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыВеденияДополнительныхДанныхПоНоменклатуре.ИндивидуальныеДляНоменклатуры)
    |            ТОГДА ИСТИНА
    |        ИНАЧЕ ЛОЖЬ
    |    КОНЕЦ КАК ХарактеристикиИспользуются,
    |    Товары.ВидЦены КАК ВидЦены,
    |    Товары.Цена КАК Цена,
    |    Товары.ЦенаИзмененаВручную КАК ЦенаИзмененаВручную,
    |    ВЫБОР
    |        КОГДА ЦеныНоменклатуры.Упаковка = Товары.Упаковка
    |            ТОГДА ЦеныНоменклатуры.Цена
    |        ИНАЧЕ ЦеныНоменклатуры.Цена / ЕСТЬNULL(ЦеныНоменклатуры.Упаковка.Коэффициент, 1) * ЕСТЬNULL(Товары.Упаковка.Коэффициент, 1)
    |    КОНЕЦ КАК ДействующаяЦена,
    |    ВЫРАЗИТЬ(ВЫБОР
    |            КОГДА ЦеныНоменклатуры.Цена <> 0
    |                ТОГДА 100 * (Товары.Цена - ВЫБОР
    |                        КОГДА ЕСТЬNULL(ЦеныНоменклатуры.Упаковка, &ПустаяУпаковка) = Товары.Упаковка
    |                            ТОГДА ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
    |                        ИНАЧЕ ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0) / ЕСТЬNULL(ЦеныНоменклатуры.Упаковка.Коэффициент, 1) * ЕСТЬNULL(Товары.Упаковка.Коэффициент, 1)
    |                    КОНЕЦ) / ВЫБОР
    |                        КОГДА ЕСТЬNULL(ЦеныНоменклатуры.Упаковка, &ПустаяУпаковка) = Товары.Упаковка
    |                            ТОГДА ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
    |                        ИНАЧЕ ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0) / ЕСТЬNULL(ЦеныНоменклатуры.Упаковка.Коэффициент, 1) * ЕСТЬNULL(Товары.Упаковка.Коэффициент, 1)
    |                    КОНЕЦ
    |            ИНАЧЕ 0
    |        КОНЕЦ КАК ЧИСЛО(19, 2)) КАК Процент,
    |    Товары.Упаковка КАК Упаковка
    |ИЗ
    |    ВременнаяТаблицаТовары КАК Товары
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
    |        ПО (ЦеныНоменклатуры.ВидЦены = Товары.ВидЦены)
    |            И (ЦеныНоменклатуры.Характеристика = Товары.Характеристика)
    |            И (ЦеныНоменклатуры.Номенклатура = Товары.Номенклатура)
    |            И (ЦеныНоменклатуры.Период В
    |                (ВЫБРАТЬ
    |                    МАКСИМУМ(Цены.Период)
    |                ИЗ
    |                    РегистрСведений.ЦеныНоменклатуры КАК Цены
    |                ГДЕ
    |                    Цены.ВидЦены = Товары.ВидЦены
    |                    И Цены.Номенклатура = Товары.Номенклатура
    |                    И Цены.Характеристика = Товары.Характеристика
    |                    И Цены.Период <= &Дата))
    |
    |УПОРЯДОЧИТЬ ПО
    |    Индекс
    |ИТОГИ
    |    МИНИМУМ(ЕдиницаИзмерения)
    |ПО
    |    Номенклатура,
    |    Характеристика
    |");
1 zippygrill
 
20.06.18
09:47
Ну там однозначно есть деление на 0
Обработай документ Групповой обоработкой из Корректировки данных
2 piter3
 
20.06.18
09:48
ставлю на Товары.Упаковка.Коэффициент
3 I_learn_1c
 
20.06.18
09:52
(1) как обработать? не совсем поняла. мне нужно понять что именно не грузится, так как эту выгрузку периодически повторять будут

(2)Товары.Упаковка грузится из 7.7 Номенклатура.БазоваяЕдиница это в 7.7 тогда наверно не так?
4 piter3
 
20.06.18
09:54
(3) Ну мне не видно,что там стоит))значения.сделай в консоли запросик на 0
5 I_learn_1c
 
20.06.18
10:01
(4) какой запросик? вроде заполнены строки же, что проверять на 0?
6 Ненавижу 1С
 
гуру
20.06.18
10:06
посмотрите в запросе все знаменатели дробей и проверьте их на значение 0
7 anatoly
 
20.06.18
10:08
(2) или тут:
    |                            ТОГДА ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
8 lenochka-semicova
 
20.06.18
10:33
(3) Товары.Упаковка вообще заполнять не нужно, равно как и проверить ранее установленные цены в разрезе упаковок - всем упаковкам с коэффициентом 0 проставить коэффициент 1, если таковые имеются..
9 I_learn_1c
 
20.06.18
11:26
еще добавление. При добавлении товара в ТЧ установки цен через + тоже та же ошибка, что с товаром не так может быть? голова забита уже, подскажите пожалуйста какой должна быть номенклатура правильная чтоб добавлялась без такой ошибки?
10 Ненавижу 1С
 
гуру
20.06.18
11:30
ты наконец проверишь показатель ЦеныНоменклатуры.Упаковка.Коэффициент?
11 I_learn_1c
 
21.06.18
10:15
(10) спасибо большое, в итоге выяснили что номенклатура криво загрузилась, упаковки не создались
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.