По теме из базы знаний
- Создание печатной формы табличной части документа с использованием СКД
- Как в динамический список управляемой формы документа добавить отбор по реквизиту табличной части этого документа?
- Пример добавления вычисляемого поля из табличной части к форме списка
- Вывод итогов в подвал табличной части (на примере 1С:ERP Управление предприятием 2)
- Заполнение табличной части документа из EXCEL универсальная (толстый клиент)
Найденные решения
(1) Используйте событие "ПриАктивизацииСтроки". Например:
&НаКлиенте
Процедура ТоварыПриАктивизацииСтроки(Элемент)
ТекущаяСтрока = Элементы.Мероприятия.ТекущиеДанные;
Если ТекущаяСтрока = Неопределено Тогда
Возврат;
КонецЕсли;
Если ТекущаяСтрока.ОтветственностьИсполнителя Тогда
ТипОтветственного = Новый ОписаниеТипов("СправочникСсылка.Пользователи");
Иначе
ТипОтветственного = Новый ОписаниеТипов("СправочникСсылка.КонтактныеЛицаКонтрагентов");
КонецЕсли;
Элементы.МероприятияОтветственный.ОграничениеТипа = ТипОтветственного;
КонецПроцедуры
Показать
(11) Не совсем понял Ваш вопрос.
У таблицы "Мероприятия" есть реквизит "Ответственный". Имя колонки для этого реквизита на форме "МероприятияОтветственный". Как я понял из исходного сообщения, в зависимости от флажка пользователю нужно выбирать значения исключительно из одного справочника. Но реквизит имеет составной тип.
Чтобы ограничить тип значений, выбираемых пользователем, одним справочником, используется свойство колонки (поля формы) "ОграничениеТипа". Оно накладывает ограничение на всю колонку. При этом оно не меняет значение самого реквизита, а влияет только на выбор.
Т.к. в разных строках таблицы признак, отвечающий за тип значения Ответственного, может быть разным, необходимо "переключать" ограничение типа значений всей колонки при навигации пользователем по таблице. Т.е. использовать обработчик события активизации строки.
У таблицы "Мероприятия" есть реквизит "Ответственный". Имя колонки для этого реквизита на форме "МероприятияОтветственный". Как я понял из исходного сообщения, в зависимости от флажка пользователю нужно выбирать значения исключительно из одного справочника. Но реквизит имеет составной тип.
Чтобы ограничить тип значений, выбираемых пользователем, одним справочником, используется свойство колонки (поля формы) "ОграничениеТипа". Оно накладывает ограничение на всю колонку. При этом оно не меняет значение самого реквизита, а влияет только на выбор.
Т.к. в разных строках таблицы признак, отвечающий за тип значения Ответственного, может быть разным, необходимо "переключать" ограничение типа значений всей колонки при навигации пользователем по таблице. Т.е. использовать обработчик события активизации строки.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Используйте событие "ПриАктивизацииСтроки". Например:
&НаКлиенте
Процедура ТоварыПриАктивизацииСтроки(Элемент)
ТекущаяСтрока = Элементы.Мероприятия.ТекущиеДанные;
Если ТекущаяСтрока = Неопределено Тогда
Возврат;
КонецЕсли;
Если ТекущаяСтрока.ОтветственностьИсполнителя Тогда
ТипОтветственного = Новый ОписаниеТипов("СправочникСсылка.Пользователи");
Иначе
ТипОтветственного = Новый ОписаниеТипов("СправочникСсылка.КонтактныеЛицаКонтрагентов");
КонецЕсли;
Элементы.МероприятияОтветственный.ОграничениеТипа = ТипОтветственного;
КонецПроцедуры
Показать
(10) Я ни в коем случае не прикапываюсь,
Я просто не пойму, какой тип объекта будет в этом поле.
Изначально в задаче не совсем понятно, где и что автор предполагает хранить, а ваше поле для меня стало откровением.
Просто, если не очень вас затрудню, расскажите какое именно значение типа поля надо использовать в таких случаях.
Я просто не пойму, какой тип объекта будет в этом поле.
Изначально в задаче не совсем понятно, где и что автор предполагает хранить, а ваше поле для меня стало откровением.
Просто, если не очень вас затрудню, расскажите какое именно значение типа поля надо использовать в таких случаях.
(11) Не совсем понял Ваш вопрос.
У таблицы "Мероприятия" есть реквизит "Ответственный". Имя колонки для этого реквизита на форме "МероприятияОтветственный". Как я понял из исходного сообщения, в зависимости от флажка пользователю нужно выбирать значения исключительно из одного справочника. Но реквизит имеет составной тип.
Чтобы ограничить тип значений, выбираемых пользователем, одним справочником, используется свойство колонки (поля формы) "ОграничениеТипа". Оно накладывает ограничение на всю колонку. При этом оно не меняет значение самого реквизита, а влияет только на выбор.
Т.к. в разных строках таблицы признак, отвечающий за тип значения Ответственного, может быть разным, необходимо "переключать" ограничение типа значений всей колонки при навигации пользователем по таблице. Т.е. использовать обработчик события активизации строки.
У таблицы "Мероприятия" есть реквизит "Ответственный". Имя колонки для этого реквизита на форме "МероприятияОтветственный". Как я понял из исходного сообщения, в зависимости от флажка пользователю нужно выбирать значения исключительно из одного справочника. Но реквизит имеет составной тип.
Чтобы ограничить тип значений, выбираемых пользователем, одним справочником, используется свойство колонки (поля формы) "ОграничениеТипа". Оно накладывает ограничение на всю колонку. При этом оно не меняет значение самого реквизита, а влияет только на выбор.
Т.к. в разных строках таблицы признак, отвечающий за тип значения Ответственного, может быть разным, необходимо "переключать" ограничение типа значений всей колонки при навигации пользователем по таблице. Т.е. использовать обработчик события активизации строки.
(3) программно тип реквизита объекта изменять нельзя. Это метаданные объекта, а не данные.
Для обычного элемента поля ввода можно было бы заменить допустимые типы. Но для таблицы невозможно по условию так делать. Изменение будет для всей колонки.
Наиболее приемлемым вариантом остается: в момент начала выбора ответственного, анализировать условие и программно открывать ту, или иную форму выбора.
Для обычного элемента поля ввода можно было бы заменить допустимые типы. Но для таблицы невозможно по условию так делать. Изменение будет для всей колонки.
Наиболее приемлемым вариантом остается: в момент начала выбора ответственного, анализировать условие и программно открывать ту, или иную форму выбора.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот