По теме из базы знаний
Найденные решения
(16)тогда вот ваш код
&НаКлиенте
Процедура Реквизит1ОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка, ДополнительныеПараметры)
СтандартнаяОбработка = Ложь;
Если Расшифровка = "НадоОткрытьФорму" Тогда
ОткрытьФорму("ОбщаяФорма.Чекпоинт1");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Реквизит1ОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка, ДополнительныеПараметры)
СтандартнаяОбработка = Ложь;
Если Расшифровка = "НадоОткрытьФорму" Тогда
ОткрытьФорму("ОбщаяФорма.Чекпоинт1");
КонецЕсли;
КонецПроцедуры
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
при активизации вряд ли, расшифровка делается по двойному клику, а как обработать подскажет ИТС
Обработка расшифровки
После того, как расшифровка заполнена, следует позаботиться об ее обработке.
Если табличный документ открыт в отдельном окне, никаких действий по обработке расшифровки выполнить нельзя. В этом случае расшифровка будет работать в соответствии со своим поведением по умолчанию – то есть, будет открыто значение расшифровки. Для ссылочных типов будет открыта основная форма объекта, для других типов будет отображена строка, представляющая значение расшифровки.
Если табличный документ отображается в поле табличного документа, возможно переопределение поведения расшифровки. Для этого нужно создать обработчик события ОбработкаРасшифровки поля табличного документа. Это событие будет вызываться при каждой попытке пользователя вызвать расшифровку. В обработчик события будет передано поле табличного документа, для которого вызвана расшифровка, значение расшифровки и флаг стандартной обработки расшифровки. Если стандартная обработка расшифровки не нужна, следует присвоить флагу СтандартнаяОбработка значение "Ложь".
Пример:
Процедура ПолеТабличногоДокумента1ОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
КонецПроцедуры
В тексте обработчика события можно выполнить любые действия по обработке расшифровки. Например, запустить на исполнение некоторый отчет, передав ему в качестве параметра значение расшифровки.
Обработка расшифровки
После того, как расшифровка заполнена, следует позаботиться об ее обработке.
Если табличный документ открыт в отдельном окне, никаких действий по обработке расшифровки выполнить нельзя. В этом случае расшифровка будет работать в соответствии со своим поведением по умолчанию – то есть, будет открыто значение расшифровки. Для ссылочных типов будет открыта основная форма объекта, для других типов будет отображена строка, представляющая значение расшифровки.
Если табличный документ отображается в поле табличного документа, возможно переопределение поведения расшифровки. Для этого нужно создать обработчик события ОбработкаРасшифровки поля табличного документа. Это событие будет вызываться при каждой попытке пользователя вызвать расшифровку. В обработчик события будет передано поле табличного документа, для которого вызвана расшифровка, значение расшифровки и флаг стандартной обработки расшифровки. Если стандартная обработка расшифровки не нужна, следует присвоить флагу СтандартнаяОбработка значение "Ложь".
Пример:
Процедура ПолеТабличногоДокумента1ОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
КонецПроцедуры
В тексте обработчика события можно выполнить любые действия по обработке расшифровки. Например, запустить на исполнение некоторый отчет, передав ему в качестве параметра значение расшифровки.
(2) Так у меня как раз и есть поле табличного документа с событием обработка расшифровка. 1 или 2 клика срабатывать будет мне не важно.
В макете у меня есть рисунок с заполненым Параметр Расшифровка.
Мне нужно чтобы при нажатии на рисунок открывалась бы заданная мною форма.
В макете у меня есть рисунок с заполненым Параметр Расшифровка.
Мне нужно чтобы при нажатии на рисунок открывалась бы заданная мною форма.
(4) что будет в расшифровка, а что в моя расшифровка ?
насколько я знаю расшифровка это числовой параметр.
{ОбщаяФорма.ИнтерактивнаяКартаМарафона.Форма(8,21)}: Переменная не определена (ПунктИ1)
Если Расшифровка = <<?>>ПунктИ1 Тогда (Проверка: Сервер)
{ОбщаяФорма.ИнтерактивнаяКартаМарафона.Форма(9,3)}: Процедура или функция с указанным именем не определена (ОткрытьФорму)
<<?>>ОткрытьФорму("ОбщаяФорма.Чекпоинт1"); (Проверка: Сервер)
насколько я знаю расшифровка это числовой параметр.
&НаСервере
Процедура Реквизит1ОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка, ДополнительныеПараметры)
СтандартнаяОбработка = Ложь;
//Задумывается взаимосвязь через условие: если нажата ячейка с параметром ПунктИ1
//ОткрытьФорму("");//то откроется форма с небольшой поясняющей информацией. Для каждого пункта своя форма, заданного размера и в ней содержания.
Если Расшифровка = ПунктИ1 Тогда
ОткрытьФорму("ОбщаяФорма.Чекпоинт1");
КонецЕсли;
КонецПроцедуры
Показать{ОбщаяФорма.ИнтерактивнаяКартаМарафона.Форма(8,21)}: Переменная не определена (ПунктИ1)
Если Расшифровка = <<?>>ПунктИ1 Тогда (Проверка: Сервер)
{ОбщаяФорма.ИнтерактивнаяКартаМарафона.Форма(9,3)}: Процедура или функция с указанным именем не определена (ОткрытьФорму)
<<?>>ОткрытьФорму("ОбщаяФорма.Чекпоинт1"); (Проверка: Сервер)
(7) я поставил точку останова, но не могу данных посмотреть, так как сразу выкидывает меня с ошибкой.
Ошибка инициализации модуля: ОбщаяФорма.ИнтерактивнаяКартаМарафона.Форма
по причине:
{ОбщаяФорма.ИнтерактивнаяКартаМарафона.Форма(8,21)}: Переменная не определена (ПунктИ1)
Если Расшифровка = <<?>>ПунктИ1 Тогда
В моём примере ПунктИ1 это то что заполнено в параметре расшифровки у рисунка.
Ошибка инициализации модуля: ОбщаяФорма.ИнтерактивнаяКартаМарафона.Форма
по причине:
{ОбщаяФорма.ИнтерактивнаяКартаМарафона.Форма(8,21)}: Переменная не определена (ПунктИ1)
Если Расшифровка = <<?>>ПунктИ1 Тогда
В моём примере ПунктИ1 это то что заполнено в параметре расшифровки у рисунка.
(9) точка останова не активируется.
&НаКлиенте
Процедура Реквизит1ОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка, ДополнительныеПараметры)
СтандартнаяОбработка = Ложь;
//Задумывается взаимосвязь через условие: если нажата ячейка с параметром ПунктИ1
//ОткрытьФорму("");//то откроется форма с небольшой поясняющей информацией. Для каждого пункта своя форма, заданного размера и в ней содержания.
//Если Расшифровка = ПунктИ1 Тогда
// ОткрытьФорму("ОбщаяФорма.Чекпоинт1");
//КонецЕсли;
КонецПроцедуры
Показать
(12)жесть! У вас же в профиле программист 1С...
по порядку:
у вас есть Макет, в Макете есть Ячейка, в свойствах ячейки в поле ПараметрРасшифровки должно быть указано имя параметра , например "РасшДляЭтойЯчейки", при заполнении макета вы в коде должны указать
Область.Параметры.РасшДляЭтойЯчейки = "НадоОткрытьФорму";
тогда при клике по этой ячейке
Процедура Реквизит1ОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка, ДополнительныеПараметры)
в параметре расшифровки вернет "НадоОткрытьФорму"
Попробуйте так сделать и добиться чтобы Процедура передавала в Расшифровка то, что вы задали в коде.
по порядку:
у вас есть Макет, в Макете есть Ячейка, в свойствах ячейки в поле ПараметрРасшифровки должно быть указано имя параметра , например "РасшДляЭтойЯчейки", при заполнении макета вы в коде должны указать
Область.Параметры.РасшДляЭтойЯчейки = "НадоОткрытьФорму";
тогда при клике по этой ячейке
Процедура Реквизит1ОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка, ДополнительныеПараметры)
в параметре расшифровки вернет "НадоОткрытьФорму"
Попробуйте так сделать и добиться чтобы Процедура передавала в Расшифровка то, что вы задали в коде.
(14)непонятно что такое ПунктИ1, это явно не реквизит, если это текстовый параметр, то можно написать
Если Расшифровка = "тоЧтоВПунктИ1"
Суть проста, добиться чтобы в процедуру передавалась не пустая Расшифровка, уникальная для данной ячейки макета, т.е. для других ячеек Расшифровка либо неопределена, либо имеет другие значения, и сравнивать.
Покажите ваш макет и процедуру его заполнения
Если Расшифровка = "тоЧтоВПунктИ1"
Суть проста, добиться чтобы в процедуру передавалась не пустая Расшифровка, уникальная для данной ячейки макета, т.е. для других ячеек Расшифровка либо неопределена, либо имеет другие значения, и сравнивать.
Покажите ваш макет и процедуру его заполнения
(15) Вот мой макет.
А процедура заполнения где ?
Это всё что связано с макетом.
А процедура заполнения где ?
Это всё что связано с макетом.
&НаСервере
Функция ПриОткрытииНаСервере()
ТабДок = Новый ТабличныйДокумент;
Макет = Документы.ДокументДляИнтерактивнойКарты.ПолучитьМакет("МакетИнтерактивнойКарты");
Область1 = Макет.ПолучитьОбласть("Область1");
Область1.Параметры.ПунктИ1 = "НадоОткрытьФорму";
Реквизит1.Вывести(Область1); //Это позволит вывести Табличный документ на форме. ИмяТвоегоРеквизитаФормы.Вывести(ИмяПеременнойТабличныйДокумент);
ТабДок.Вывести(Область1); //Это откроет новое окно. Пригодится, если необходима печать.
ТабДок.ОтображатьЗаголовки = Ложь;
Возврат ТабДок;
КонецФункции
&НаКлиенте
Процедура ПриОткрытии(Отказ)
ТабДок = ПриОткрытииНаСервере();
ТабДок.Показать(Реквизит1);
ТабДок.ОтображатьСетку = Ложь;
КонецПроцедуры
ПоказатьПрикрепленные файлы:

(16)тогда вот ваш код
&НаКлиенте
Процедура Реквизит1ОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка, ДополнительныеПараметры)
СтандартнаяОбработка = Ложь;
Если Расшифровка = "НадоОткрытьФорму" Тогда
ОткрытьФорму("ОбщаяФорма.Чекпоинт1");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Реквизит1ОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка, ДополнительныеПараметры)
СтандартнаяОбработка = Ложь;
Если Расшифровка = "НадоОткрытьФорму" Тогда
ОткрытьФорму("ОбщаяФорма.Чекпоинт1");
КонецЕсли;
КонецПроцедуры
в процедуру
Процедура ПолеТабличногоДокумента1ОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
передается параметр Расшифровка - это данные расшифровки той ячейки, по которой кликнули, вы писали, что у вас рисунок с заполненным параметром Расшифровка, вот и надо сравнить Расшифровку которая передалась в процедуру с вашей расшифровкой для рисунка, чтобы убедиться что кликнули именно по рисунку, а не в любое другое поле.
Поставьте точку останова в процедуре и посмотрите что передается в параметре Расшифровка.
Процедура ПолеТабличногоДокумента1ОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
передается параметр Расшифровка - это данные расшифровки той ячейки, по которой кликнули, вы писали, что у вас рисунок с заполненным параметром Расшифровка, вот и надо сравнить Расшифровку которая передалась в процедуру с вашей расшифровкой для рисунка, чтобы убедиться что кликнули именно по рисунку, а не в любое другое поле.
Поставьте точку останова в процедуре и посмотрите что передается в параметре Расшифровка.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот