7.7 Создание меню и подменю 1С 7.7

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

  1. TopicStarter Overlay
    Spotty
    Offline

    Spotty Опытный в 1С

    Регистрация:
    4 янв 2013
    Сообщения:
    77
    Симпатии:
    2
    Баллы:
    29
    В общем не тяним кота, а сразу по делу. Есть форма, есть кнопка. При нажатии на кнопку хочу чтоб выскакивала подменюшка с пунктами выполняющие определенные операции. Для информации это в журнале документов, мне надо на форму лупануть кнопочку с такой возможностью.

    Если кто знает как ещё добавить в контексное меню (клик правой кнопкой мыши) свои пункты, буду безмерно счастлив. Но это не главное.
  2. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Юзаем объект СписокЗначений
  3. rshakiro
    Offline

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

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    + примерчик для кнопки(кнОк):

    Код:
    Процедура кнОк()
    Перем Меню;
    Меню = СоздатьОбъект("СписокЗначений");
    Меню.ДобавитьЗначение("Записать");
    Меню.ДобавитьЗначение("Рассчитать");
    Меню.ДобавитьЗначение("Провести");
    Меню.ДобавитьЗначение("Закрыть");
    КонецПроцедуры
  4. TopicStarter Overlay
    Spotty
    Offline

    Spotty Опытный в 1С

    Регистрация:
    4 янв 2013
    Сообщения:
    77
    Симпатии:
    2
    Баллы:
    29
    :icon_kringeln:
    Код:
    Процедура кнОка(Об="")   
    Об=Форма.АктивныйЭлемент();
    Меню = СоздатьОбъект("СписокЗначений");
    Меню.ДобавитьЗначение("Записать");
    Меню.ДобавитьЗначение("Рассчитать");
    Меню.ДобавитьЗначение("Провести");
    Меню.ДобавитьЗначение("Закрыть");
    результат = глДокументДействие(Контекст,Меню);
    КонецПроцедуры
    Код работает))
    Спасибо ))
  5. TopicStarter Overlay
    Spotty
    Offline

    Spotty Опытный в 1С

    Регистрация:
    4 янв 2013
    Сообщения:
    77
    Симпатии:
    2
    Баллы:
    29
    С выводдом разобрались)) осталось передать параметры))
  6. rshakiro
    Offline

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

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    как-то:

    Код:
    Процедура кнОка(Об="")
    Перем Меню, ПунткМеню;
    ПунктМеню = 0;
    Об=Форма.АктивныйЭлемент();
    Меню = СоздатьОбъект("СписокЗначений");
    Меню.ДобавитьЗначение("Записать");
    Меню.ДобавитьЗначение("Рассчитать");
    Меню.ДобавитьЗначение("Провести");
    Меню.ДобавитьЗначение("Закрыть");
    Меню.ВыбратьЗначение(,,ПунктМеню,,1);
    Если ПунктМеню = 1 Тогда  // Записать
    Записать();
    ИначеЕсли ПунктМеню = 2 Тогда
    Записать();
    Расчет();
    ИначеЕсли ПунктМеню = 3 Тогда // Провести
    Записать();
    Провести();
    Форма.Закрыть();
    ИначеЕсли ПунктМеню = 4 Тогда // Закрыть
    // Закрытие без сохранения
    Форма.Закрыть(0);
    КонецЕсли;
    результат = глДокументДействие(Контекст,Меню);
    КонецПроцедуры
  7. TopicStarter Overlay
    Spotty
    Offline

    Spotty Опытный в 1С

    Регистрация:
    4 янв 2013
    Сообщения:
    77
    Симпатии:
    2
    Баллы:
    29
    Ага все отлично)) Кое что убрал) и все шикарно )))
  8. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Не понятен только вызов глДокументДействие. Ведь действия же уже выполнены!
  9. TopicStarter Overlay
    Spotty
    Offline

    Spotty Опытный в 1С

    Регистрация:
    4 янв 2013
    Сообщения:
    77
    Симпатии:
    2
    Баллы:
    29
    Да он не нужен))

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