По теме из базы знаний
- Методика переопределения и вызова обработчиков событий обычной формы
- PowerTools: Инструменты администратора 1С 8.3
- Поиск по дереву значений рекурсией, методом НайтиСтроки(), с помощью СКД. Вывод результата поиска в отдельную таблицу. Активация строки в дереве значений при выборе в таблице
- [ЕХТ] Фреймворк для Расширений 1С: Обработка событий: описание, примеры и демобаза.
- Отчеты с общей формой отчета. Типовые сценарии
Найденные решения
Как вариант:
1. Добавляем колонку строкового реквизита (не в таб. часть док-та, а в таб. часть на форме)
2. Вид - поле надписи
3. Ставим галочку ГиперссылкаЯчейки
4. В поле пишем "Согласовать" заполняем при создании на сервере и при добавлении новой строки, например,
Для Каждого Стр Из Объект.ТабличнаяЧасть1
Стр .Реквизит2 = "Согласовать";
...
5. Для всей таб. части ставим обработку события "выбор" (не пытаемся обрабатывать событие "нажатие" для ячейки - оно все одно не будет работать!)
При выполнении пунктов выше оно сработает при однократном нажатии.
Т.е. именно то, что вам надо.
6. Обрабатываем событие, например
Это "рыба" чего там помещать в поле и чего в нем писать вам решать, равно как и почему вместо обычного поля флажка вам захотелось странного.
1. Добавляем колонку строкового реквизита (не в таб. часть док-та, а в таб. часть на форме)
2. Вид - поле надписи
3. Ставим галочку ГиперссылкаЯчейки
4. В поле пишем "Согласовать" заполняем при создании на сервере и при добавлении новой строки, например,
Для Каждого Стр Из Объект.ТабличнаяЧасть1
Стр .Реквизит2 = "Согласовать";
...
5. Для всей таб. части ставим обработку события "выбор" (не пытаемся обрабатывать событие "нажатие" для ячейки - оно все одно не будет работать!)
При выполнении пунктов выше оно сработает при однократном нажатии.
Т.е. именно то, что вам надо.
6. Обрабатываем событие, например
&НаКлиенте
Процедура Реквизит1Выбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
текДанные = Элемент.ТекущиеДанные;
Если текДанные <> Неопределено Тогда
Если текДанные.Реквизит2 = "Утверждено" Тогда
стрЗаголовок = нСтр("ru='Согласовать'", "ru") ;
пСогласовано = Ложь;
Иначе
стрЗаголовок = нСтр("ru='Согласовано'", "ru")
пСогласовано = Истина;
КонецЕсли;
текДанные.Реквизит2 = стрЗаголовок ;
//этот реквизит, в отличие от Реквизит1 (имеющегося только на форме), есть в таб. части самого документа.
текДанные.Согласовано = пСогласовано ;
КонецЕсли;
КонецПроцедуры
ПоказатьЭто "рыба" чего там помещать в поле и чего в нем писать вам решать, равно как и почему вместо обычного поля флажка вам захотелось странного.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4)Добавьте проверку на имя текущей колонки - она в параметре Поле
Реквизит1Выбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
<Поле>
Тип: ПолеФормы.
Активное поле (колонка).
Если нужная колонка - стандартная обработка = ложь и ваш код, иначе - ничего не делать.
Реквизит1Выбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
<Поле>
Тип: ПолеФормы.
Активное поле (колонка).
Если нужная колонка - стандартная обработка = ложь и ваш код, иначе - ничего не делать.
Как вариант:
1. Добавляем колонку строкового реквизита (не в таб. часть док-та, а в таб. часть на форме)
2. Вид - поле надписи
3. Ставим галочку ГиперссылкаЯчейки
4. В поле пишем "Согласовать" заполняем при создании на сервере и при добавлении новой строки, например,
Для Каждого Стр Из Объект.ТабличнаяЧасть1
Стр .Реквизит2 = "Согласовать";
...
5. Для всей таб. части ставим обработку события "выбор" (не пытаемся обрабатывать событие "нажатие" для ячейки - оно все одно не будет работать!)
При выполнении пунктов выше оно сработает при однократном нажатии.
Т.е. именно то, что вам надо.
6. Обрабатываем событие, например
Это "рыба" чего там помещать в поле и чего в нем писать вам решать, равно как и почему вместо обычного поля флажка вам захотелось странного.
1. Добавляем колонку строкового реквизита (не в таб. часть док-та, а в таб. часть на форме)
2. Вид - поле надписи
3. Ставим галочку ГиперссылкаЯчейки
4. В поле пишем "Согласовать" заполняем при создании на сервере и при добавлении новой строки, например,
Для Каждого Стр Из Объект.ТабличнаяЧасть1
Стр .Реквизит2 = "Согласовать";
...
5. Для всей таб. части ставим обработку события "выбор" (не пытаемся обрабатывать событие "нажатие" для ячейки - оно все одно не будет работать!)
При выполнении пунктов выше оно сработает при однократном нажатии.
Т.е. именно то, что вам надо.
6. Обрабатываем событие, например
&НаКлиенте
Процедура Реквизит1Выбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
текДанные = Элемент.ТекущиеДанные;
Если текДанные <> Неопределено Тогда
Если текДанные.Реквизит2 = "Утверждено" Тогда
стрЗаголовок = нСтр("ru='Согласовать'", "ru") ;
пСогласовано = Ложь;
Иначе
стрЗаголовок = нСтр("ru='Согласовано'", "ru")
пСогласовано = Истина;
КонецЕсли;
текДанные.Реквизит2 = стрЗаголовок ;
//этот реквизит, в отличие от Реквизит1 (имеющегося только на форме), есть в таб. части самого документа.
текДанные.Согласовано = пСогласовано ;
КонецЕсли;
КонецПроцедуры
ПоказатьЭто "рыба" чего там помещать в поле и чего в нем писать вам решать, равно как и почему вместо обычного поля флажка вам захотелось странного.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот