7.7 Ошибка деление на 0

Тема в разделе "Общие вопросы "1С:Предприятие 7.7"", создана пользователем Настенок, 11 мар 2010.

  1. TopicStarter Overlay
    Настенок
    Offline

    Настенок

    Регистрация:
    11 мар 2010
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Добрый день.

    При создании нового документа возникает ошибка деление на 0. Без ссылок на какую-либо строку.
    в начале модуля документа есть процедура, на которую постоянно в тексте модуля идет ссылка.
    Код:
    If Trimall(Перемотка.Процент) <> Trimall(Формат(?(Перемотка.Итог("Колво")=0,0,Перемотка.Колво/Перемотка.Итог("Колво")*100),"Ч6.2, "))+"%" Then
    
    значение колонки ТЗ Перемотка.Итог("Колво") в отладчике равно 0

    Может кто знает, каким образом избавиться от сообщения деление на 0.

    Заранее огромное спасибо за помощь.
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Ошибка явно указывает, что итог по колонке количество = 0, поэтому избавиться от ошибки можно. просто заполнив колонку количество.

    Просто так ошибку убрать нельзя, ибо непонятно, на что именно это влияет.

    Вы бы рассказали, что за документ, что за конфигурация..

    Если не ошибаюсь - то это не типовой какой-то документ и помочь, не видя конфы - будет сложно.
  3. TopicStarter Overlay
    Настенок
    Offline

    Настенок

    Регистрация:
    11 мар 2010
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Ошибка не на что не влияет, просто мешает работать. А насчет заполнить Итог- то при создании нового документа на вкладке менеджера это не возможно. Этот итог заполняется уже при закрытии документа. Конфигурация - самописная.
  4. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Судя по всему - проблема не в этом месте, ибо код корректен.
    Если значение =0 -> то просто ничего не делиться.
    Проверяйте другие места.
  5. x-a-d
    Offline

    x-a-d Опытный в 1С

    Регистрация:
    3 сен 2009
    Сообщения:
    184
    Симпатии:
    0
    Баллы:
    26
    сделайте так

    Код:
     
    Если Перемотка.Итог("Колво") <> 0 Тогда
    //то что уже надо вам
    //If Trimall(Перемотка.Процент)  Trimall...
    Иначе
    //при желании можно вывести сообщение что количество равно нулю или ничего не делать
    КонецЕсли;
    
    
    
  6. TopicStarter Overlay
    Настенок
    Offline

    Настенок

    Регистрация:
    11 мар 2010
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    как тогда найти из-за чего выскакивает эта ошибка?
    просто раньше в начале не было этой функции и ошибки не возникало.

    И еще : когда я пишу: Перемотка.Итог("Колво") <> 0 Тогда в самом начале кода, то возникает ошибка , что Перемотка.Итог("Колво")-неизвестная переменная (Тз перемотка заполняется в др. процедуре на порядок ниже по коду)
  7. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    так не было деления - не было ошибки. Выскакивает или изза того что строк в таблице нет, либо колонка "Колво" пустая всегда.

    пишите где определилась) вообще странно все это, по идее ошибки о делении недолжно было возникать
  8. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    в общем, ошибка совсем не здесь. Хотелось бы увидеть весь код документа, (если он не оч. большой)
  9. TopicStarter Overlay
    Настенок
    Offline

    Настенок

    Регистрация:
    11 мар 2010
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    код документа к сожалению большой.
    На этапе создания нового документа и заполнения данными колонка колво пустая.
    Хотя действительно, ошибка деление на 0 возникает не в этой процедуре.

    Эта ошибка только при делении или при др. действиях может возникать?
  10. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Обратитесь к автору кода.
    Нормальный кодер предусматривает такие ошибки (это азы).

    Самостоятельно лучше не лезть, только если экспериментировать на копии.
  11. TopicStarter Overlay
    Настенок
    Offline

    Настенок

    Регистрация:
    11 мар 2010
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    мне сложно узнать, в каком моменте возникает ошибка.
    Но при открытии формы это сообщение появляется, при выборе из справочника и при вводе даты
    err деление на 0


    А насчет автора кода- то сейчас я дописываю этот код и пытаюсь исправить существующие ошибки
  12. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    воспользуйтесь отладчиком или выкладывайте в текстовом файле.. посмотрим
  13. TopicStarter Overlay
    Настенок
    Offline

    Настенок

    Регистрация:
    11 мар 2010
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Код большой. Если взляните-то буду очень сильно благодарна.

    Отладчиком я как-то не совсем умею пользоваться. Где правильней ставить точку останова
    спасибо всем огромное за попытку помощь. Буду пытаться самостоятельно найти причину
    Реально очень сложно когда только начинаешь программировать в 1с задать правильный вопрос, а другим людям без кода очень сложно понять, о чем идет речь.

    Вложения:

  14. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    Делений на самом деле оказалось не так не так много:
    При открытии тут:
    Код:
    Перемотка.Процент = Trimall(Формат(Перемотка.Колво/ВыполненоКол*100,"Ч6.2, "))+"%";
    
    Вычисляется где ошибка просто.
    Код:
    Сообщить("ВыполненоКол = "+ВыполненоКол);
    
    Так же деление есть в Процедуре ПриВводеРентабельности() и в ПриЗаполненииСебестФакт().. У при вводе дат не нашел.
  15. TopicStarter Overlay
    Настенок
    Offline

    Настенок

    Регистрация:
    11 мар 2010
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    спасибо фобец, сейчас попробую

Поделиться этой страницей