1. temi4444 11.01.17 14:11 Сейчас в теме

8.3 Программное изменение типа реквизита в табличной части документа

Добрый день, подскажите как программно изменять тип реквизита в тч документа. Например реквизит составного типа (Спр.Номенклатура и Строка) пользователь вводит наименование с клавиатуры если автоподбор по спр Номеклатура ничего не нашел, то оставлять в поле что ввел пользователь и продолжить редактирование документа дальше
Найденные решения
3. starik-2005 2001 11.01.17 14:16 Сейчас в теме
(2) при начале редактирования смотреть, какого типа элемент в поле, Если строка - ставить ограничение типа по строке, если номенклатура - по номенклатуре. Фактически тип поля не меняется при этом - просто вводимое значение ограничивается тем, что вводится.

С другой стороны, можно обрабатывать событие при вводе текста, а не при окончании ввода. Тогда всегда ограничивать тип справочником, а при вводе текста смотреть, что вводится. Если находится номенклатура - устанавливать ее, если не находится - просто в данные выбора передавать введенный текст.
Остальные ответы
Избранное Подписка Сортировка: Древо
2. temi4444 11.01.17 14:12 Сейчас в теме
Пробую сделать так:
&НаКлиенте
Процедура СоставНоменклатураСсылкаСтрокаОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка)
	Элементы.СоставНоменклатураСсылкаСтрока.ОграничениеТипа = Новый ОписаниеТипов("Строка");
КонецПроцедуры


но тогда меняется тип у всей колонки, а нужно чтоб только у текущей строки.
3. starik-2005 2001 11.01.17 14:16 Сейчас в теме
(2) при начале редактирования смотреть, какого типа элемент в поле, Если строка - ставить ограничение типа по строке, если номенклатура - по номенклатуре. Фактически тип поля не меняется при этом - просто вводимое значение ограничивается тем, что вводится.

С другой стороны, можно обрабатывать событие при вводе текста, а не при окончании ввода. Тогда всегда ограничивать тип справочником, а при вводе текста смотреть, что вводится. Если находится номенклатура - устанавливать ее, если не находится - просто в данные выбора передавать введенный текст.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Ведущий программист 1С (с функцией наставничества)
Екатеринбург
зарплата от 100 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 80 000 руб. до 120 000 руб.
Полный день

Консультант по 1С:Документооборот
Санкт-Петербург
зарплата от 120 000 руб. до 150 000 руб.
Полный день

Программист по 1С:Бухгалтерии
Санкт-Петербург
зарплата от 120 000 руб. до 150 000 руб.
Полный день

Программист по 1С:ЗУП
Санкт-Петербург
зарплата от 120 000 руб. до 150 000 руб.
Полный день