8.х Программирование действий кнопки

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

  1. TopicStarter Overlay
    Lex09
    Offline

    Lex09

    Регистрация:
    2 фев 2009
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Здравстуйте!

    Поможите кто чем может ;(

    Справочник имеет форму ФормаЭлемента. В этой форме есть стандартная командная панель ОсновныеДействияФормы, на которой располагается кнопка OK. Тип этой кнопки – действие. Действие – "Записать и закрыть". Т.е. при нажатии на эту кнопку происходит сохранение введенного элемента справочника в базу данных, и сама форма закрывается. Все просто.

    Но мне нужно, чтобы при нажатии на кнопку сначала выполнились определенные действия (какой-то анализ введенных данных), а затем, при необходимости – штатное срабатывание (т.е. "Записать и закрыть").

    Напрашиваются 2 похожих варианта.

    1 Убрать штатную кнопку OK, а в форму поместить новую кнопку, для которой написать код анализа и потом – срабатывание штатной процедуры "Записать и закрыть".

    2 Кнопку OK оставить, но отменить штатное срабатывание. Вместо этого заставить выполнить процедуру с анализом, а потом – срабатывание штатной процедуры "Записать и закрыть".

    Все это несложно, но у меня никак не получается написать код для выполнения этой самой штатной процедуры "Записать и закрыть". Буду благодарен за помощь.

    P.S. Если интересно, поясню, для чего мне это нужно. Возможно, есть другие решения.
    В справочнике каждый элемент имеет код и имя. Код – штука полезная, но для наших нужд он не нужен, и я его убрал из всех форм ( т.е. код, конечно, остался, но не показывается). Теперь пользователь идентифицирует элементы справочника ТОЛЬКО по именам (поскольку он кода не видит). В результате он может внести элемент с уже существующим именем. В справочнике можно установить контроль уникальности кодов (но их не видно). А нужно контролировать уникальность ИМЕН элементов справочника. Такую процедуру я написал (если кому-то интересно, могу предоставить).

    Теперь при нажатии кнопки выполняется эта процедура. Если имя не уникально, выдается предупреждение и ничего не происходит. Если же имя уникально, должна сработать штатная процедура "Записать и закрыть". Вот как это сделать? Т.е. как заставить выполниться эту самую штатную процедуру?

    Спасибо за уделенное внимание.
    Все в мире устроено целесообразно: мое невежество влечет за собой ваши толковые разъяснения.
  2. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    А использовать события формы "ПередЗаписью", "ПриОткрытии", "ПриЗаписи" и т.д. не вариант???
  3. GY!BE
    Offline

    GY!BE

    Регистрация:
    25 янв 2009
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    ЭтотОбъект.Записать();
    ЭтаФорма.Закрыть();
  4. TopicStarter Overlay
    Lex09
    Offline

    Lex09

    Регистрация:
    2 фев 2009
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Огромное спасибо!!!!!

    Я не там "копал" - пытался найти, какое действие выполняет кнопка и "ручками" его выполнить...

    У меня есть Габец, Гончаров "1С:Предприятие 8.1 - Простые примеры разработки". Кому надо - могу выслать. Для гуру это не интересно, но в форуме попадаются и новички вроде меня. А мне так помогли, что хочется внести хоть какую-то добрую лепту.

    Еще раз спасибо.
  5. Эмин
    Offline

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    А еще можно "СтандартнаяОбработка = Ложь" и заниматься тем, чем хочется ;)

    Книжку лучше предложить в отдельной теме ;) Она есть на форуме "Книги по 1С" :) Как правило ее часто ищут.

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