7.7 Как закрыть форму обработки

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем mnv, 6 апр 2011.

  1. TopicStarter Overlay
    mnv
    Offline

    mnv

    Регистрация:
    6 апр 2011
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Создаю обработку, цель которой - выполнение некоторых действий, при которых пользователю не надо ничего кликать в окне.

    Собираюсь для этого всю логику поместить в обработчик

    Код:
    Процедура ПриОткрытии()
    Сообщить("Начало интеграции!");
    Сообщить("Интеграция завершена!");
    //Как тут автоматически закрыть форму обработки?
    КонецПроцедуры
    
    Подскажите, как программно закрыть форму обработки сразу после выполнения процедуры?

    Пробовал варианты:
    Код:
    Закрыть();
    #Закрыть;
    
    
    Не работают...
    Помогите новичку :)
  2. Diego
    Offline

    Diego Любитель 1С Команда форума

    Регистрация:
    3 апр 2009
    Сообщения:
    966
    Симпатии:
    2
    Баллы:
    29
    Форма.Закрыть(0);
  3. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.175
    Симпатии:
    13
    Баллы:
    29

    в обработчике ПриОткрытии не сработает



    а вообще есть смысл открывать ее ?
    может проще использовать функцию (процедуру) а не обработку...
  4. TopicStarter Overlay
    mnv
    Offline

    mnv

    Регистрация:
    6 апр 2011
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Большое спасибо! Работает :)

    Еще не нашел элемента на подобии прогресс бара. Есть ли возможность в 1С рисовать что-то типа прогресс бара, чтобы было понятно, что обработка не зависла, а просто долго выполняется?

    Если прогресс баров нет, то вполне пойдут текстовые элементы, буду в них отображать текущий % выполнения. Лишь бы их можно было обновлять по ходу выполнения процедуры. Подскажите, есть ли в 1С такая возможность, как ей воспользоваться? Нужно ли создавать отдельный поток для этого (если это конечно возможно)?

    Возможно, но было бы при этом полезно все-таки как-то показывать, что процесс не завис...
    Подскажите, как в 1С создать функцию (процедуру)?
  5. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Код:
    Состояние()
    
    
    не устраивает? Нужно обязательно отображать на самой форме?
  6. TopicStarter Overlay
    mnv
    Offline

    mnv

    Регистрация:
    6 апр 2011
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Вполне возможно, что подойдёт. Пока что не нашел, где это отображается. Наверное в самом низу в панели состояния? Если так, то вполне подойдёт.
    Можно ли тогда вообще сделать обработку без формы? Или для этого надо функцию (как ее создать, не вижу в конфигураторе такого элемента)?
  7. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
    В процедуре ПриОкрытии:
    Код:
    СтатусВозврата(0);
    
    
    И форму закрывать не надо, она просто не откроется.

    Получится как-то так:
    Код:
    Процедура ПриОткрытии()
    Сформировать();
    СтатусВозврата(0);
    КонецПроцедуры
    
    
  8. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    [Можно ли тогда вообще сделать обработку без формы?
    [/quote]
    Вообще без формы нельзя... Форма как таковая должна быть. Она может не отображаться, но будет. Какая перед вами стоит задача?
  9. TopicStarter Overlay
    mnv
    Offline

    mnv

    Регистрация:
    6 апр 2011
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Да, спасибо, хороший вариант!
    Так работает!
    Код:
    Процедура ПриОткрытии()
    Сообщить("Начало интеграции!");
    Сообщить("Интеграция завершена!");
    Состояние("Выполнено, %: 1");
    //Форма.Закрыть(0);
    СтатусВозврата(0);
    КонецПроцедуры
    
    Даже, если присмотреться, мелькает в состоянии "Выполнено, %: 1" :)

    Да, с помощью СтатусВозврата(0) так и получается. Вполне устраивает. Задача - создание интеграции 1С с внешней БД на PostgreSQL.
  10. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Если мелькает - добавьте условие и обновляйте состояние только при изменении %
  11. TopicStarter Overlay
    mnv
    Offline

    mnv

    Регистрация:
    6 апр 2011
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Да, спасибо за советы, вопрос решен

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