Йоксель » Главный форум

"КомандаПользователя"

(18 posts)
  1. Не могу понять почему не срабатывает Процедура: ПоКомандеПользователя.
    Можете подсказать?

    Процедура ПоКомандеПользователя(Док, Команда, Значение)
    Сообщить("получилось");
    КонецПроцедуры

    Процедура Сформировать()
    ВремДокумент = СоздатьОбъект("ТабличныйДокумент");
    ВремДокумент.ЗагрузитьИзТаблицы(Таб);
    гФрейм=ВремДокумент.Показать("Прайс-лист по счету...");
    гФрейм.ОтображатьСтруктуру(1);
    гФрейм.ОтображатьКнопкиУровней(1);
    гФрейм.ФиксироватьСтрокиСверху(2);
    гФрейм.ПанельИнструментов.Видимость = 1;
    Панель = гФрейм.ПанельИнструментов;
    Панель.ПодписатьсяНаСобытие("КомандаПользователя","ПоКомандеПользователя");
    Кнопка = Панель.ДобавитьКнопку("кнДействие");
    Кнопка.Заголовок = "Действие";
    Кнопка.Значение = 1;
    Кнопка.Доступность = 1;
    КонецПроцедуры

    Отправлено 10 года(лет) назад #
  2. Похоже, в реальной обработке другой код. Протестировал этот код. Только пришлось добавить в процедуру "Сформировать" эти две строки

    Таб = СоздатьОбъект ("Таблица");
    Таб.Область (1, 1).Текст = "ываыавпы";

    Работает, как и должен. По нажатию на кнопку "Действие" выводится сообщение "Получилось".

    Отправлено 10 года(лет) назад #
  3. странно, скопировал весь код в новую обработку - заработало и у меня.
    Еще маленький вопрос в продолжение:
    а как можно сформировать два табличных документа:
    ВремДокумент1 = СоздатьОбъект("ТабличныйДокумент");
    ВремДокумент1.ЗагрузитьИзТаблицы(Таб1);
    ВремДокумент2 = СоздатьОбъект("ТабличныйДокумент");
    ВремДокумент2.ЗагрузитьИзТаблицы(Таб2);

    и в одном фрейме управлять видимостью этих документов по кнопкам меню? (аля заккладки листов в xls)
    Спасибо.

    Отправлено 10 года(лет) назад #
  4. > а как можно сформировать два табличных документа:
    > и в одном фрейме управлять видимостью этих документов по кнопкам меню? (аля заккладки листов в xls)

    По идее, держать где-то ссылки на эти документы (в значениях кнопок не получится) и по команде подменять документ во фрейме. Как-то так:

    Перем гФрейм;

    Процедура ПоКомандеПользователя(Док, Команда, Значение)
    Сообщить("получилось");
    Таб = СоздатьОбъект ("Таблица");
    Таб.Область (1, 1).Текст = "1";
    ВремДокумент = СоздатьОбъект("ТабличныйДокумент");
    ВремДокумент.ЗагрузитьИзТаблицы(Таб);
    Элемент = гФрейм.ПолучитьЭлементУправления (1);
    Элемент.Документ = ВремДокумент;
    КонецПроцедуры

    Процедура Сформировать()
    Таб = СоздатьОбъект ("Таблица");
    Таб.Область (1, 1).Текст = "ываыавпы";
    ВремДокумент = СоздатьОбъект("ТабличныйДокумент");
    ВремДокумент.ЗагрузитьИзТаблицы(Таб);
    гФрейм=ВремДокумент.Показать("Прайс-лист по счету...");
    гФрейм.ОтображатьСтруктуру(1);
    гФрейм.ОтображатьКнопкиУровней(1);
    гФрейм.ФиксироватьСтрокиСверху(2);
    гФрейм.ПанельИнструментов.Видимость = 1;
    Панель = гФрейм.ПанельИнструментов;
    Панель.ПодписатьсяНаСобытие("КомандаПользователя","ПоКомандеПользователя");
    Кнопка = Панель.ДобавитьКнопку("кнДействие");
    Кнопка.Заголовок = "Действие";
    Кнопка.Значение = 1;
    Кнопка.Доступность = 1;
    КонецПроцедуры

    Отправлено 10 года(лет) назад #
  5. Да, отлично.
    Спасибо огромное. Все реализовалось на 100%.

    P.S. по поводу вопроса в первом посте: нашел причину.
    оказывается не срабатывает Процедура: ПоКомандеПользователя
    при

    Процедура ПриОткрытии()
    Форма.Закрыть(0);
    Сформировать();
    КонецПроцедуры

    Отправлено 10 года(лет) назад #
  6. Как только удаляем строчку:

    Форма.Закрыть(0);

    Все срабатывает.

    Отправлено 10 года(лет) назад #
  7. И даже если в процессе использования Фрейма принудительно закрыть Форму, то
    Процедура: ПоКомандеПользователя - прекращает действовать!

    Отправлено 10 года(лет) назад #
  8. Подписка на событие происходит для процедуры в определенном модуле. Если форма закрывается, модуль удаляется. Поэтому вызовы процедур из него невозможны.

    Отправлено 10 года(лет) назад #
  9. Печально...

    Отправлено 10 года(лет) назад #
  10. Процедуру в ГМ подписать, если требуется работа событий при закрытой форме.

    Отправлено 10 года(лет) назад #
  11. можете подсказать как именно?
    простой перенос процедуры

    Процедура ПоКомандеПользователя(Док, Команда, Значение) Экспорт

    не помог.

    Отправлено 10 года(лет) назад #
  12. Сорри, не так вас понял, Олег.
    Да, можно в ГМ поместить, но у меня вызывается обработка из панели инструментов.
    Добро, смысл понятен.
    Огромное спасибо за оперативность в ответах.

    P.S. а вот эта вещь еще не реализован в вашем проекте?
    http://yoksel.net.ru/forum/topic.php?id=275
    появилась ли возможность добавления гиперссылки в ячейку?
    *************************
    Можно ли каким-то способом добавить гиперссылку в ячейку?
    к примеру в ячейку выгружается название товара, а под ним линк ведущий на страничку этого товара.
    Спасибо.
    *************************

    Отправлено 10 года(лет) назад #
  13. > Да, можно в ГМ поместить, но у меня вызывается обработка из панели инструментов.

    Можно ведь подписаться на событие "ОбработкаЯчейкиТаблицы" и использовать обычный для типовых механизм расшифровок. Тогда по событию конфа сама будет открывать нужную обработку.

    > появилась ли возможность добавления гиперссылки в ячейку?

    Вообще-то, появилась. Но можно только назначить гиперссылку, которая потом будет сохранена в Excel. В элементе управления эта гиперссылка никак себя проявлять не будет. Правда, я совсем забыл об этом и не выкладывал этот релиз еще.

    Отправлено 10 года(лет) назад #
  14. > Но можно только назначить гиперссылку, которая потом будет сохранена в Excel.

    Это в принципе уже отлично!!

    Отправлено 10 года(лет) назад #
  15. Олег, а как получить релиз с возможностью сохранения гиперссылки?

    Отправлено 10 года(лет) назад #
  16. > Олег, а как получить релиз с возможностью сохранения гиперссылки?

    Ушло на мыло из профиля. Использование примерно такое:

    Процедура Сформировать()
    Таб = СоздатьОбъект ("ТабличныйДокумент");
    Область = Таб.Область (1, 1);
    Область.Текст = "Желто-красная шняга";
    Область.ЦветТекста (0, 0, 255);
    Область.Подчеркнутый = 1;
    Область.Гиперссылка = "http://1c.ru";

    Таб.Показать ("Документ");
    КонецПроцедуры

    Отправлено 10 года(лет) назад #
  17. maranath
    Участник

    Олег, пожалуйста можно мне тоже релиз с возможностью сохранения гиперссылки. буду очень признателен

    Отправлено 9 года(лет) назад #
  18. Anatoliy
    Участник

    Олег, пожалуйста можно релиз с возможностью сохранения гиперссылки. Спасибо.
    Планируется ли данный релиз в общий доступ?
    В Йокселе работают все функции екселя или только сумма? (Пробовал функцию Гиперссылка без результатно).

    Отправлено 9 года(лет) назад #

RSS экспорт этой темы

Отправить сообщение

Вы должны войти в систему, чтобы оставлять сообщения.