8.х Отказ от ввода на основании.

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем X-Man, 26 мар 2015.

  1. TopicStarter Overlay
    X-Man
    Offline

    X-Man Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    433
    Симпатии:
    3
    Баллы:
    29
    Здравствуйте. Прошу помощи в следующем вопросе: есть процедура модуля объекта Документ ОбработкаЗаполнения, в ней прописан алгоритм заполнения на основании данных заполнения. В рамках выполнения этой процедуры анализируются некоторые реквизиты документа-основания и в определенных случаях нужно отказаться от ввода на основании. Сама процедура вызывается интерактивно по стандартной кнопке "Создать на основании". Как реализовать отказ от ввода на основании с последующей отменой вывода на экран пустой(незаполненной) формы документа? В самой ОбработкеЗаполнения прописал СтандартнаяОбработка=Ложь; Возврат, но пустая форма все равно появляется на экране после выхода из ОбработкиЗаполнения. :(

    Управляемые формы.
    Последнее редактирование: 26 мар 2015
  2. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    первый грубый вариант - вызвать исключение с поясняющим текстом. выкинет неприятное окно, но при этом заблокирует и интерактивное и программное заполнение.

    далее - в обработчике ПриСозданииНаСервере попытаться что-то отловить.
  3. TopicStarter Overlay
    X-Man
    Offline

    X-Man Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    433
    Симпатии:
    3
    Баллы:
    29
    Первый грубый вариант помог, спасибо. Не очень красиво, конечно, но лучше, чем ничего. ПриСозданииНаСервере-не получилось отловить ничего. Пробовал в модуле объекта заводить экспортную булевую переменную ВводНаОснованииОтказ,но в модуле формы ПриСозданииНаСервере она почему-то всегда видна со значением Ложь, хотя в ОбработкеЗаполнения я ей присваиваю значение Истина.
  4. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    можно служебный реквизит у документа завести.
  5. TopicStarter Overlay
    X-Man
    Offline

    X-Man Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    433
    Симпатии:
    3
    Баллы:
    29
    Некрасиво:(
  6. Thelearning
    Offline

    Thelearning Профессионал в 1С Команда форума

    Регистрация:
    9 сен 2010
    Сообщения:
    701
    Симпатии:
    72
    Баллы:
    54
    Можно попробовать сделать примерно так: в обработке заполнения отказываетесь от создания нового документа, но реквизит "ДокументОснование" заполняете, а в процедуре "ПриСозданииНаСервере" проверяете, если основание заполнено, то все остальное пустое (ну тут вариантов проверки много может быть), то отказываетесь от создания формы.
  7. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.948
    Симпатии:
    149
    Баллы:
    104
    У формы объекта есть параметр "Основание". Если он заполнен, значит в данный момент происходит ввод на основании (можно отказаться от открытия формы).
    Отловить его можно в событии формы "При создании на сервере":
    Код:
    Параметры.Основание

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