7.7 Формула в ТЧ

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем yourname, 12 окт 2007.

  1. TopicStarter Overlay
    yourname
    Offline

    yourname Опытный в 1С

    Регистрация:
    15 июл 2007
    Сообщения:
    84
    Симпатии:
    0
    Баллы:
    26
    Добрый день!
    Такая проблема, а точнее не проблема а вопрос.
    Когда в формуле числового реквизта табл части задаешь формулу, то она выпоняется как минимум 2 раза.
    Например:

    Процедура ПриИзмененииКоличества()
    Если Количество=0 тогда
    Предупреждение("Количество не должно равняться нулю!");
    Количество=1;
    конецЕсли;
    КонецПроцедуры

    Если что-то подобное написать в ПриВВодеСтроки()-то ситуация повторяется.
    //Вот и при изменении количества процедура выполняется 2 раза => 2 предупреждения
    Конечно можно заменить на сообщить(), чтобы не нервировало, но это по-моему не выход.
    ПриНачалеВыбораЗначения() и ОбработкавыбораЗначения() тут не работают - ведь вводится число.
    Как быть? Есть идеи у кого?
  2. 1Yes
    Offline

    1Yes

    Регистрация:
    15 сен 2007
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    Ты же при нулевом значении присваиваешь единицу, почему тогда второй раз говорит что ноль?
  3. TopicStarter Overlay
    yourname
    Offline

    yourname Опытный в 1С

    Регистрация:
    15 июл 2007
    Сообщения:
    84
    Симпатии:
    0
    Баллы:
    26
    Сорри, конечно про количество я сгоряча, но факт остается фактом, что формула выполняестя 2 раза, даже в отладчике смотрел. А что ты скажешь про ПриВводеСтроки(), если внутри написать предупреждение и СтатусВозврата(0)???????????
  4. TopicStarter Overlay
    yourname
    Offline

    yourname Опытный в 1С

    Регистрация:
    15 июл 2007
    Сообщения:
    84
    Симпатии:
    0
    Баллы:
    26
    Ладно, смотрю никто не отвечает. Пока выкручиваюсь методом Активизировать()
  5. 1Yes
    Offline

    1Yes

    Регистрация:
    15 сен 2007
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    Выходные были ;)

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

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