Имя: Пароль:
1C
1С v8
v8: Кастомизация кнопок панели инструментов
, , ,
0 Mikhail Volkov
 
28.06.14
06:21
Вопрос о кнопочках на командных панелях: можно ли перехватить их действие? Ну не нужно мне проведение некоторой группы документов (по "партнерской" организации). При этом чтобы сообщений об ошибках не было, кнопка "Провести" не активна... Или это все на уровне платформы сделано?
1 Андрюха
 
28.06.14
06:32
Можно не перехватывать, а сделать свои с такими же картинками.
2 Mikhail Volkov
 
28.06.14
08:33
(1) Только свои кнопки вставлять?
3 Андрюха
 
28.06.14
08:37
Думаю да.
4 Kookish
 
28.06.14
10:31
А что насчет подписок на события? Даже я про них слышал. Что-то слышал. Краем уха. Кажется.
5 Mikhail Volkov
 
29.06.14
10:45
(4) Ключевое слово в вопросе - "перехватить", чтобы в некоторых случаях кнопка ОК (опаньки, тема поменялась!? Я и слов-то таких не знаю...) среди последовательности действий: запись, проведение, закрыть, не выполняла проведение. А подписка лишь известит о свершившимся событии.

(1) Сделал:
Процедура ОсновныеДействияФормыОК(Кнопка)
    Попытка
        ЭтотОбъект.Записать(?(ПартнерскийДок, РежимЗаписиДокумента.Запись, РежимЗаписиДокумента.Проведение));
        ЭтаФорма.Закрыть();
    Исключение
        Предупреждение("Не удалось " + ?(ПартнерскийДок, "записать", "провести") + " """ + СокрЛП(ЭтотОбъект) + """!", 60);
    КонецПопытки;
КонецПроцедуры

Но сомнения одолевают, хотелось бы, когда не партнерский документ оставить старой кнопки ОК. Какой командой Выполнить(ЭтоДействие); ?
6 oslokot
 
29.06.14
12:22
(0) Можно ПередОткрытием формы и изуродовать командную панель как захочется, но это не поможет:
(5) хитрый пользователь нажмет ПКМ на форме списка да и проведет любой ваш документ
7 Mikhail Volkov
 
29.06.14
20:40
(6) Это можно запретить:
Процедура СписокПередПроведением(Элемент, Отказ)
    Если ПартнерскийДок Тогда
        Предупреждение("Партнерский документ не может быть проведен!", 60, "Внимание");
    Отказ = Истина;
    КонецЕсли;
КонецПроцедуры

Как в предупреждении вывести желтый треугольник с "!"?
8 quest
 
29.06.14
22:46
написать свою форму. с желтым треугольничком
9 1с-кин
 
29.06.14
23:30
(0) в 1с невозможно работать с кнопками и формами платформы.
Все, что генерирует платформа - недотсупно.
Максимум - можете перехватывать события "по факту" (кнопка "крестик" - закрытие формы; кнп "провести" - процедура "Проведение документа", кпн "Добавить строку" - событие "Копирование" и т.д.), и уже обрабатывать их.
(4) список подписок на события еще более куц, чем сами события форм и ЭУ на форме.
10 1с-кин
 
29.06.14
23:52
(8)>>Как в предупреждении вывести желтый треугольник с "!"?
никак, работы с системными сообщениями не предусмотрено вобще никакой.
11 dj_serega
 
30.06.14
00:16
(10) Кроме "Сообщить()". Не пожлобились на один доп параметр :)
12 1с-кин
 
30.06.14
00:26
(11) это не системное сообщение )
А одноэсовое в её строке сообщений.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс