Деление на 0 в обработке « Проверка количества в документе»

1. ibnnabi7 7 01.06.20 02:42 Сейчас в теме
Про проверке количества в документе, если упаковка заполнена, то при превышение остатка выдаёт "деление на 0".
По отладке переходит на
Функция.РазбитьПоНеотгружаемым 
Если ЗначениеЗаполнено(СтрокаТЧ.Упаковка) Тогда
			КоэффициентУпаковки = СтрокаТЧ.Количество / СтрокаТЧ.КоличествоУпаковок;
		Иначе
			КоэффициентУпаковки = 1;
КонецЕсли;


УТ 11.4.11.102

Константы ед. из. все проверил.
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
17. ibnnabi7 7 08.09.20 14:40 Сейчас в теме
(16) Да решение было временным) ошибка не исчезла.

Но добавил проверку на заполнение СтрокаТЧ.КоличествоУпаковок и ушла ошибка.

Если ЗначениеЗаполнено(СтрокаТЧ.Упаковка) И ЗначениеЗаполнено(СтрокаТЧ.КоличествоУпаковок) Тогда
КоэффициентУпаковки = СтрокаТЧ.Количество / СтрокаТЧ.КоличествоУпаковок;
Иначе
КоэффициентУпаковки = 1;
КонецЕсли;
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user856012 14 01.06.20 03:09 Сейчас в теме
(1)
Если ЗначениеЗаполнено(СтрокаТЧ.Упаковка) Тогда
КоэффициентУпаковки = СтрокаТЧ.Количество / СтрокаТЧ.КоличествоУпаковок;
И что тут гадать? Упаковка выбрана, но при этом КоличествоУпаковок равно нулю.
3. ibnnabi7 7 01.06.20 04:00 Сейчас в теме
(2)До проверки вроде всё заполнено
Прикрепленные файлы:
4. ibnnabi7 7 01.06.20 04:00 Сейчас в теме
(2)И после пробивания тоже всё заполнено
Прикрепленные файлы:
10. user856012 14 01.06.20 10:33 Сейчас в теме
(4)
И после пробивания тоже всё заполнено
Что "заполнено"? Карточка элемента справочника "Упаковка"? При чем тут она, если у вас в табличной части (СтрокаТЧ) стоит 0.
(8)
давайте ближе к решению, если знаете
Знаем: учиться пользоваться отладчиком.

И - думать... но это уже сложнее.
9. Doreng 27 01.06.20 10:21 Сейчас в теме
(1)
СтрокаТЧ.КоличествоУпаковок

Рекомендую смотреть процедуру
ОтгружаемыеТоварыУпаковкаПриИзменении(Элемент),
необходимо выянить откуда заполняется реквизит КоличествоУпаковок
11. Doreng 27 01.06.20 10:33 Сейчас в теме
(1) В отладке посмотреть, что содержится в СтрокаТЧ.Упаковка.КоличествоУпаковок, если там 0, тогда проверять, что это за упаковка такая
5. muskul 01.06.20 04:08 Сейчас в теме
Открыть отладку и нажать кнопку остановка по ошибке религия не позволяет?
6. ibnnabi7 7 01.06.20 08:04 Сейчас в теме
(5)Позволяет, а просмотреть картинки не позволяет ? Я же в теме выложил, что показывает отладка.
7. muskul 01.06.20 08:13 Сейчас в теме
(6)А зачем вы ее открыли если не можете понять где деление на ноль происходит?
8. ibnnabi7 7 01.06.20 09:15 Сейчас в теме
(7) давайте ближе к решению, если знаете. Логично, если бы я понимал всё, этой темы не было вы вообще.
12. muskul 01.06.20 10:34 Сейчас в теме
(8)КоэффициентУпаковки = СтрокаТЧ.Количество / СтрокаТЧ.КоличествоУпаковок
написали же выше что знаменатель равен нулю. или неправильно заполнен документ или где то это количество упаковок обнуляется. нужно смотреть выше по коду.
Обычно такое бывает когда в справочнике единицы измерения и упаковки есть элементы со знаменателем и числителем равным нулю
13. ibnnabi7 7 01.06.20 11:21 Сейчас в теме
(12) Где выделил Знаменатель и Числитель были пустыми, я прописал 1, но ошибка всё равно осталась.
Прикрепленные файлы:
14. ibnnabi7 7 03.06.20 06:25 Сейчас в теме
(12) Если в начале проверки там, где указал стрелкой, указать какое-то число, то излишек выходит правильно без деления на 0. А если пусто, то излишек выходит с ошибкой деления на 0.

До обновлении была версия ут 11.3, посмотрел код, там про коэффициент упаковки ничего нет и такая ошибка не выходила.
Прикрепленные файлы:
15. ibnnabi7 7 07.06.20 03:09 Сейчас в теме
Решил так, коэффициент упаковки = 1, а КоэффициентУпаковки = СтрокаТЧ.Количество / СтрокаТЧ.КоличествоУпаковок отключил.
16. user1135816 4 08.06.20 10:41 Сейчас в теме
СтрокаТЧ.КоличествоУпаковок явно реквизит табличной части документа. Который явно чем-то заполняется, если не заполняется - вероятно ошибка; если 0 - вероятно ошибка. Но ваш выход из ситуации странный
17. ibnnabi7 7 08.09.20 14:40 Сейчас в теме
(16) Да решение было временным) ошибка не исчезла.

Но добавил проверку на заполнение СтрокаТЧ.КоличествоУпаковок и ушла ошибка.

Если ЗначениеЗаполнено(СтрокаТЧ.Упаковка) И ЗначениеЗаполнено(СтрокаТЧ.КоличествоУпаковок) Тогда
КоэффициентУпаковки = СтрокаТЧ.Количество / СтрокаТЧ.КоличествоУпаковок;
Иначе
КоэффициентУпаковки = 1;
КонецЕсли;
18. user1135816 4 09.09.20 12:42 Сейчас в теме
(17) Я бы сделал тоже таким образом, как и писал в (16)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот