8.х Задержка

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем BimmerMK, 17 мар 2009.

  1. TopicStarter Overlay
    BimmerMK
    Offline

    BimmerMK

    Регистрация:
    13 фев 2008
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    Есть документ, который имеет в конкретный момент времени определенный статус. Статус фиксируется в периодическом(1 сек.) регистре сведений. Иногда возникает ситуация, когда статус документа меняется програмно, при этом, если происходят определенные события, статус может поменятся дважды в течении одной секунды, т.е. например произошло действие которое привело к тому, что статус документа становится 'принят' и сразу 'в работе'. Для того что бы не возникало ошибок на данный момент решил проблему так:

    Код:
    ДатаПринят = ТекущаяДата();
    
    Записываем запись в регистр с периодом ДатаПринят;
    
    ДатаВРаботе = ТекущаяДата() + 1;
    
    Записываем запись в регистр с периодом ДатаВРаботе;
    
    
    думаю что правильнее будет заменить на:

    Код:
    ДатаПринят = ТекущаяДата();
    
    Записываем запись в регистр с периодом ДатаПринят;
    
    Задержка в 1 сек.
    
    ДатаВРаботе = ТекущаяДата();
    
    
    Кроме того, достаточно легко и сам пользователь может успеть вручную сменить статус в течении одной секунды, что приведет к ошибке при записи в регистр сведений.

    Вопрос должно быть глупый, но как сделать задержку в N сек или как иначе решить данную проблему?
  2. tunec
    Offline

    tunec Опытный в 1С

    Регистрация:
    2 июн 2008
    Сообщения:
    469
    Симпатии:
    0
    Баллы:
    26
    задержкой не пользовался и если абстрагироваться от реалий жизни и решать в лоб, то примерно так:

    Процедура Ждать(Задержка)
    ВремяСУчетомЗадержки = ТекущаяДата()+Задержка;
    Пока ВремяСУчетомЗадержки < ТекущаяДата() цикл конеццикла;
    конецпроцедуры

    а вообще правильнее будет блокировать запись от изменений на время обработки документа.
  3. tunec
    Offline

    tunec Опытный в 1С

    Регистрация:
    2 июн 2008
    Сообщения:
    469
    Симпатии:
    0
    Баллы:
    26
    П.С. тему надо нормально называть, а то я думал, что у тя беременность и даже интересно чем тебе может помочь 1с :)

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