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

Программное изминение Типа реквизита

Автор |R|U|D|E|N, 02 июн 2011, 12:42

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

|R|U|D|E|N

Добрый день

У меня есть реквизит документа "Контрагент" который имеет составной тип данных Строка и СправочникСсылка.Контрагенты. Этот реквизит вынесен на управляемую форму документа.
Когда выбераешь этот реквизит формы, вылазит окошко и предлогает выбрать тип Строка или Контрагенты. Выбрав Тип = Строка я могу вводить произвольный текст. А как, уже после  выбора типа Строка и ввода текста можно программно установить Тип поля = Контрагенты и заполнить его одним изи объектов справочника?

Надеюсь объеснил понятно)

У уважением, Александр.

chuevsf

Отправил обработку на почту....
Она под управляемые формы сделана. На основе её сделаешь все остальное.

bugs

Возможно такой вариант:

Если ТипЗнч(Реквизит1) = Тип("Строка") и ЗначениеЗаполнено(Реквизит1) Тогда
        // Заполнить одним из объектов справочника можно к примеру так
        Реквизит1 = Справочники.Контрагенты.НайтиПоКоду("000024159");
КонецЕсли;

|R|U|D|E|N

Спасибо bugs и chuevsf но не сробатывает не один из предложенных вариантов..

Вот как я делаю...

В управляемой форме я выбераю Тип = строка и ввожу в это поле нужный мне текст(какое то имя клиента).
После этого, нажимается кнопка которая создает нового контрагента(с указанным в поле именем) в справочнике.
В конце процедуры, которая создает нового контрагента в справочнике я пишу

Объект.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию(ИмяКонтрагента);

Тойсть, я хочу чтоб в это же поле установилось то же имя контрагента только уже ссылочного типа...

Но поле как было строкового типа так и осталось..


chuevsf

Гы.... Ты хочешь и на липку влезть и задницу не ободрать!
Такого не бывает!!!
Вот это:
--------------------------
Тойсть, я хочу чтоб в это же поле установилось то же имя контрагента только уже ссылочного типа...

Но поле как было строкового типа так и осталось..
--------------------------
Не возможно!!!

Если бы это:
Тойсть, я хочу чтоб в это же поле установилось то же имя контрагента только уже ссылочного типа...

Тогда запросто!

|R|U|D|E|N

Не совсем Вас понял...

Получается, не возможно в управляемой форме(программно), сменить тип поля и заполнить его не текстом а ссылкой на объект?
Яб даже сказал, не сменить а как бы очистить, выбрать другой и заполнить?

chuevsf

Тип поля сменить можно! И это я уже показал.

А вот ссылка на объект не может быть строкой.

|R|U|D|E|N

Так мне и не нужно, чтоб ссылка на объект была стракой.

Мне нужно сменить Тип со Строки на Контрогенты и найти в справочнике нужного контрагента и подставить его в это поле которое после смены типа по идее имет Тип Контрагенты.







chuevsf

Цитата: |R|U|D|E|N от 02 июн 2011, 15:48
Спасибо bugs и chuevsf но не сробатывает не один из предложенных вариантов..

Вот как я делаю...

В управляемой форме я выбераю Тип = строка и ввожу в это поле нужный мне текст(какое то имя клиента).
После этого, нажимается кнопка которая создает нового контрагента(с указанным в поле именем) в справочнике.
В конце процедуры, которая создает нового контрагента в справочнике я пишу

Объект.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию(ИмяКонтрагента);

Тойсть, я хочу чтоб в это же поле установилось то же имя контрагента только уже ссылочного типа...

Но поле как было строкового типа так и осталось..



А вот тут ты говорил совершенно другое...
Ты уж определись с тем, что хочешь.

chuevsf

Цитата: |R|U|D|E|N от 02 июн 2011, 16:50
Так мне и не нужно, чтоб ссылка на объект была стракой.

Мне нужно сменить Тип со Строки на Контрогенты и найти в справочнике нужного контрагента и подставить его в это поле которое после смены типа по идее имет Тип Контрагенты.


А вот этот вариант можно реализовать.

Теги:

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

Рейтинг@Mail.ru

Поиск