Запретить изменять ТЧ, только просмотр

1. Metabos 29 13.07.16 13:03 Сейчас в теме
Всем привет! Управляемые формы. Есть документ Сообщение. Есть ТЧ, в которой список других документов. Этот список заполняется автоматически. Надо сделать так, чтобы пользователь мог открывать эти доки на просмотр, но менять не мог. Я сделала ТЧ только на просмотр, КнопкаОткрытия в колонке - Да, остальные выставила в Нет, но если так оставить, то человек не может открыть на просмотр документ. Если я убираю только просмотр, то пользователь может в строке начать набивать и выбрать другой документ и сохранить.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. horoshevall 13.07.16 13:05 Сейчас в теме
(1) AlenkaInt, У табличной части ТолькоПросмотр убрать, у колонки оставить только кнопку открытия - должно работать
3. Metabos 29 13.07.16 13:09 Сейчас в теме
(2) horoshevall, я же пишу, что в таком случае пользователь 2 раза щелкает на строке и начинает что то набивать, ему становится доступен список документов. Он спокойно выбирает другой и сохраняет.
8. ЧерныйКот 13.07.16 13:23 Сейчас в теме
(1) AlenkaInt, выведи документы не в табличную часть, а в табличный документ
и не надо будет ограничивать только просмотр и т.д.
9. Magellan32 13.07.16 13:56 Сейчас в теме
(1) AlenkaInt, напрашивается следующее:

Видимость = Истина
Доступность = Ложь
ТолькоПросмотр = Ложь


Должно сработать...
27. ЧерныйКот 13.07.16 15:37 Сейчас в теме
(1) AlenkaInt, а чем не устраивает (8) использовать табличный документ?
Просто зачем использовать ТЧ , когда нам не нужно ничего редактировать?
А если не нужно редактировать то табличный документ как раз для показа информации.
Мне кажется следует использовать объекты по их назначению, а не пытаться приспособить другие, менее подходящие для задачи.

Или тут уже дело принципа? Тогда как писали выше - ТЧ с заглушками во всех обработчиках : Отказ = Истина;
dj_serega; +1 1 Ответить
28. dj_serega 394 13.07.16 15:42 Сейчас в теме
(27) ЧерныйКот, Или обработчик "Выбор" :)
29. Metabos 29 13.07.16 15:55 Сейчас в теме
(27) ЧерныйКот, А как к документу привязать табличный документ? Или просто при открытии формы загружать туда ТЧ?
30. Alex_E 2384 13.07.16 16:17 Сейчас в теме
(29) AlenkaInt, Вот тут куча примеров, как чего делать, в т.к. как разместить табличный документ на форме http://infostart.ru/public/303564/
31. ЧерныйКот 13.07.16 16:27 Сейчас в теме
(29) AlenkaInt, судя по Вашей задаче, да, просто загружать туда ТЧ.
Вам же просто нужно показать пользователю список, верно?
32. Metabos 29 13.07.16 16:33 Сейчас в теме
(31) ЧерныйКот, да, показать. И дать возможность просмотра этого документа
33. Alex_E 2384 13.07.16 16:36 Сейчас в теме
(32) AlenkaInt, Просмотр из табличного документа легко делается через расшифровку, причем можно повесить её как на колонку строки, так и на всю строку.
4. nagaitseff 179 13.07.16 13:09 Сейчас в теме
А вы не смотрели в правах, можно же просто задать права на просмотр этого документа для определенных пользователей и групп?
5. Metabos 29 13.07.16 13:15 Сейчас в теме
(4) nagaitseff, это никому нельзя. Это будет нарушать ход событий.
6. horoshevall 13.07.16 13:19 Сейчас в теме
(5) AlenkaInt, Может тогда закрыть полностью ТЧ на ТолькоПросмотр, а открытие документа делать по двойному клику на строку ТЧ?
14. Metabos 29 13.07.16 14:16 Сейчас в теме
(6) horoshevall, я так пробовала. Если толькопросмотр, то не кликается вообще ничего.
17. horoshevall 13.07.16 14:33 Сейчас в теме
(14) AlenkaInt, Делаю так - у таблицы ТолькоПросмотр = Истина. У таблицы на форме в событии выбор пишем:
&НаКлиенте
Процедура ТоварыВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
	СсылкаНаЭлемент = Элемент.ТекущиеДанные.Номенклатура;
	ПараметрыФормы = Новый Структура("Ключ", СсылкаНаЭлемент);
	ОткрытьФорму("Справочник.Номенклатура.ФормаОбъекта", ПараметрыФормы); 
КонецПроцедуры

Только Номенклатуру на Документ заменить
romulanin; +1 Ответить
7. Alex_E 2384 13.07.16 13:22 Сейчас в теме
В свойствая ТЧ есть ПередНачаломДобавления, там регистрируем обработчик:
&НаКлиенте
Процедура <ИмяТЧ>ПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
	Отказ = Истина;
КонецПроцедуры
10. dj_serega 394 13.07.16 13:57 Сейчас в теме
(7) Alex_E, Ага. теперь будет возможность удалить строку.
11. Alex_E 2384 13.07.16 14:01 Сейчас в теме
)))
&НаКлиенте
Процедура <ИмяТЧ>ПередУдалением(Элемент, Отказ)
	Отказ = Истина;
КонецПроцедуры

Там ещё много событий есть....
12. dj_serega 394 13.07.16 14:02 Сейчас в теме
(11) Alex_E, Ага. Вот и придется в таком случает насоздавать "служебных" процедур-обработчиков :)
13. Alex_E 2384 13.07.16 14:10 Сейчас в теме
(12) dj_serega, Вообще-то все обработчики событий служат какой то цели - потому все они "служебные")))
А что собственно смущает? Есть задача - вот решение, нужно что-то ещё?
15. Metabos 29 13.07.16 14:22 Сейчас в теме
(13) Alex_E, если есть возможность без кода, то лучше без кода. Я не оставила попыток добиться результата галками.
16. dj_serega 394 13.07.16 14:28 Сейчас в теме
(13) Alex_E, Имхо, это костыль :) Данную задачу можно решить свойствами элементов.

Если от ТС будет пример обработки где не работает мы все месте сможем помочь :)
18. sommid 13.07.16 14:36 Сейчас в теме
(16) у меня тоже не получалось чисто свойствами. Ставишь только просмотр => не доступен элемент управления в ячейке таблицы => нет никаких кнопок ни выбора, ни открытия и т.д.

Можно у табличного поля снять галку Изменять состав строк, на нужной колонке снять галку Редактирование текста, в обработчике нужной колонки ПередНачаломВыбора прописать СтандартнаяОбработка = Ложь. Вроде бы так делал..
20. dj_serega 394 13.07.16 14:47 Сейчас в теме
(18) sommid, (19) Alex_E, А релиз платформы какой?
Раньше всегда получалось через свойства. Сейчас попробую повторить :)

upd: не исключаю что это было на обычных формах или уф 8.2
21. Alex_E 2384 13.07.16 14:54 Сейчас в теме
(20) dj_serega,
 (19) Alex_E, А релиз платформы какой? 
а мне то откель знать? Просто очень хочется посмотреть, как задача будет решена установкой галочек/палочек....
Стесняюсь спросить, а почему такое отторжения кода? то, что это костыль - это Ваше ИМХО, когда говорят, что костыль предлагают более изящное решение, пока только прилеплен ярлык - костыль, а где альтернативное решение?
23. dj_serega 394 13.07.16 14:58 Сейчас в теме
(21) Alex_E,
Стесняюсь спросить, а почему такое отторжения кода?

Нет отторжения :) Есть отторжение лишних дублей кода :)
то, что это костыль - это Ваше ИМХО, когда говорят, что костыль предлагают более изящное решение, пока только прилеплен ярлык - костыль, а где альтернативное решение?

Так я и не спорю что это мое имхо :) Альтернативу ищу. И как писал выше (возможно) спутал с обычными элементами (а не элементами тч).
24. sommid 13.07.16 15:05 Сейчас в теме
(20) это было в обычных формах
26. dj_serega 394 13.07.16 15:09 Сейчас в теме
(24) sommid, Ну тогда извиняюсь и снимаю шляпу :)
19. Alex_E 2384 13.07.16 14:40 Сейчас в теме
(16) dj_serega,
Имхо, это костыль :) Данную задачу можно решить свойствами элементов.
- буду поглядывать, какие свойства для решения данной задачи Вы установите...
(15) AlenkaInt, Ну тут могу только пожелать Вам удачи в бою....
22. dj_serega 394 13.07.16 14:55 Сейчас в теме
(19) Alex_E, Хм... Может это я с обычными элементами спутал? :)
25. dj_serega 394 13.07.16 15:05 Сейчас в теме
Может я об этом говорил? Правда там ОФ :(
http://www.forum.mista.ru/topic.php?id=752399
34. greenLiss 146 05.12.16 16:25 Сейчас в теме
Я сделал так,
В обработчике ТЧ "Перед удалением" Отказ = Истина;
В свойствах нужной колонки убрал все не нужные кнопки, оставил только кнопку открытия, убрал свойство "РедактированиеТекста" и в обработчике колонки"НачалоВыборка" поставил СтандартнаяОбработка = Ложь;

Ну как бы, работает.
гвость; +1 Ответить
35. skillful 7 05.10.18 20:53 Сейчас в теме
38. Yaga_2011 5 24.06.19 11:56 Сейчас в теме
(34)Спасибо. Мне тоже помогло - открытие большого текста в отдельном окне. Только открытие в колонке при запрете редактирования всей строки.
36. acanta 05.10.18 20:59 Сейчас в теме
(35)Отказ не передан на сервер.

&НаСервере
Процедура ПередУдалениемНаСервере(Отказ)
     Сообщить("Возврат");    
    Отказ = Истина;
    Возврат;
КонецПроцедуры

&НаКлиенте
Процедура ПередУдалением(Элемент, Отказ)
    Отказ = Истина; /// или здесь
    ПередУдалениемНаСервере(Отказ);//или так
КонецПроцедуры
Показать
37. skillful 7 05.10.18 21:12 Сейчас в теме
(36) Да, спасибо... Разобрался чуть ранее...
39. pepe 64 11.11.20 18:11 Сейчас в теме
Сделал через настройки: РедактированиеТекста - Ложь ТолькоПросмотр = Ложь Доступность = Истина и убрал "Авто" у выбора и у Просмотр установил "Да"
http://prntscr.com/vhgmsc
40. Good_Smile 02.11.23 09:47 Сейчас в теме
Добрый день, извините за офф.. но сделала внешнюю обработку с ТЧ, добавила ТЧ на форму, этой ТЧ установила ТолькоПросмотр = Истина, сделала обработчик события выбор у ТЧ и при двойном клике на строку таблицы всё останавливается и можно получить строку (по индексу или идентификатору - в справке как-то неоднозначно сказано) и открыть значение интересующей колонки
8.3.22.2283
Прикрепленные файлы:
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот