8.х Не работает процедура УстановитьНовыйНомер() на управляемой форме

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

  1. TopicStarter Overlay
    planfin
    Offline

    planfin Опытный в 1С

    Регистрация:
    17 май 2010
    Сообщения:
    58
    Симпатии:
    0
    Баллы:
    26
    Уважаемые форумчане,
    Может кто сталкивался с такой проблемой: при работе с формой при попытке вставить операцию УстановитьНовыйНомер() выдается сообщение:
    Пробовала и на тонком клиенте - результат один и тот же. Не пойму - ведь в обычной форме все работает.
  2. impulse
    Offline

    impulse Опытный в 1С

    Регистрация:
    16 июн 2013
    Сообщения:
    82
    Симпатии:
    8
    Баллы:
    29
    Если речь идет о типовых на управляемых формах или БСП, то смотрите "Подписки на события", например "УстановитьПрефикс..."
    planfin нравится это.
  3. TopicStarter Overlay
    planfin
    Offline

    planfin Опытный в 1С

    Регистрация:
    17 май 2010
    Сообщения:
    58
    Симпатии:
    0
    Баллы:
    26
    Нет, у меня собственная разработка.
  4. 1cUserAndrew
    Offline

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

    Регистрация:
    27 май 2010
    Сообщения:
    5.016
    Симпатии:
    173
    Баллы:
    104
    "УстановитьНовыйНомер()" - это метод объекта документа (тип "ДокументОбъект.<ИмяДокумента>").
    В модуле обычной формы Вы находитесь в контексте самого объекта, поэтому спокойно вызываете этот метод.
    В модуле управляемой формы нет контекста документа, поэтому система не знает, что это за метод.

    Вообще, трудно судить, что у Вас там за задача, в которой в модуле формы нужно вызывать метод установки номера документа. Поэтому в конкретной ситуации это, возможно, будет неправильно, но общий принцип таков: из данных формы нужно получить объект документа, установить у него номер, затем снова "вернуть" объект в данные формы.

    Код:
    ДокОбъект = РеквизитФормыВЗначение("Объект");
    ДокОбъект.УстановитьНовыйНомер();
    ЗначениеВРеквизитФормы(ДокОбъект, "Объект");
    planfin нравится это.
  5. TopicStarter Overlay
    planfin
    Offline

    planfin Опытный в 1С

    Регистрация:
    17 май 2010
    Сообщения:
    58
    Симпатии:
    0
    Баллы:
    26
    Большое спасибо за помощь. Все заработало. Согласна, что задача может вызывать удивление, но у пользователей возникло требование, может и есть другое, более оригинальное решение, но пока только решение с номером пришло мне на ум. Очень доходчиво объяснили по формы. Еще раз преогромное спасибо. Мучилась 2 дня.
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.164
    Симпатии:
    956
    Баллы:
    204
    Устанавливать номер в форме - глупость и может вызвать ошибку уникальности номеров.
    Номер автоматически присваивается в момент записи объекта в ИБ.
    planfin нравится это.
  7. TopicStarter Overlay
    planfin
    Offline

    planfin Опытный в 1С

    Регистрация:
    17 май 2010
    Сообщения:
    58
    Симпатии:
    0
    Баллы:
    26
    К сожалению, без этого иногда не обойтись, если идти навстречу пожеланиям пользователя. А чтобы не возникало ошибки уникальности, необходимо тщательно продумать алгоритм программы. У меня до сих пор все работало без сбоев.

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