Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 13:42

Фильтр на тип реквизита Табличной части

Автор Ученик_2014, 19 июн 2014, 15:38

0 Пользователей и 1 гость просматривают эту тему.

Ученик_2014

Доброго времени суток.
У реквизита табличной части стоит тип " СправочникСсылка.Транспорт, Строка"
Как избавиться от выбора при заполнении элемента на форме, если точно известно что при определенных условия тип "СправочникСсылка.Транспорт", а при других "Строка".

MuI_I_Ika

Как только узнали что тип Трансопрт указывайте в значении пустую ссылку на этот справочник и выбора типа не будет. Как только узнали что строка устанавливайте пустую строку.

LexaK

в форме на табличной части на событие При начале редактирования строки, назначаете следующую функцию,
при добавлении новой строки, сработает эта процедура, вам только нужно сделать/запрограммировать вашу функцию НужнаСтрока(...)
происходит первоначальная инициализация поля переменной нужного типа,
соответственно строку сразу можно будет вводить, справочник сразу выбирать, если что, в поле, можно нажать кнопку очистка значения
  • и вернетесь в режим выбора типа.

    Процедура ТоварыПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)

       Если Элемент.ТекущаяСтрока.Транспорт = Неопределено и НужнаСтрока(...) Тогда
          Элемент.ТекущаяСтрока.Транспорт= "";
       Иначе
          Элемент.ТекущаяСтрока.Транспорт= Справочники.Транспорт.ПустаяСсылка();
       КонецЕсли;

    КонецПроцедуры
если помогло нажмите: Спасибо!

Ученик_2014

Принцип выше описанного понятен, но при реализации не получилось. У меня управляемое приложение.
Для начала попыталась установить тип только справочник. Ставлю точку останова - не срабатывает процедура ПриНачалеРеадкатирования для табличной части.

&НаСервере
Процедура ТТНПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
    Элементы.ТТН.ТекущаяСтрока.ГосНомер = Справочники.Транспорт.ПустаяСсылка();
КонецПроцедуры



Dethmontt

Цитата: Ученик_2014 от 22 июн 2014, 17:54&НаСервере
А она разве не на клиенте должна быть?? Вы ее привязали к самому элементу формы на вкладке СОБЫТИЯ???
Цитата: Ученик_2014 от 22 июн 2014, 17:54Элементы.ТТН.ТекущаяСтрока.ГосНомер
Это тоже не правильно
&НаКлиенте
Процедура ТТНПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
Если НоваяСтрока и НЕ Копирование Тогда
   Элемент.ТекущиеДанные.ГосНомер = ПредопределенноеЗначение("Справочник.Транспорт.ПустаяСсылка");
КонецЕсли;
КонецПроцедуры
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Snaky

Цитата: Ученик_2014 от 19 июн 2014, 15:38
Доброго времени суток.
У реквизита табличной части стоит тип " СправочникСсылка.Транспорт, Строка"
Как избавиться от выбора при заполнении элемента на форме, если точно известно что при определенных условия тип "СправочникСсылка.Транспорт", а при других "Строка".
Попробуйте установить значение реквизита либо : Пустая строка ("") либо пустая ссылка справочника (Справочник.[ИмяСправочника].ПустаяСсылка()), причем не при начале редактирования, а при выполнении условий, т.е. если условие имеет тип Булево, то на событие добавления строки в ТЧ, если же условие в самой этой строке то ориентируйтесь на её изменение.

Ученик_2014

Исправила ошибки, как сказал Dethmontt. Все заработало.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск