Имя: Пароль:
1C
 
Как сделать поле другим типом
,
0 ksru
 
18.11.16
12:31
У меня есть форма справочника контрагенты (иерархический)
У него поля
Объект.Код
Объект.Наименование
Объект.ИНН
Объект.ОсновнойСчет (СправочникСсылка.БанковскиеСчета)
Объект.ЮрФизЛицо (Перечисления.ЮрФизЛицо)
Объект.Агент (СправочникСсылка.ФизическиеЛица)
Объект.Комментарий

Нужно сделать чтоб
Если поле Объект.ЮрФизЛицо=Перечисления.ЮрФизЛицо.ФизическоеЛицо тогда
поле Объект.Наименование=Объект.Агент (и из поля Агент можно было выбрать ФИО)
А если поле Объект.ЮрФизЛицо=Перечисления.ЮрФизЛицо.ЮридическоеЛицо тогда
поле Объект.Агент=Объект.Наименование (и поле Агент редактировать было нельзя так как оно должно браться из поле Объекта наименование)

&НаСервере
Функция ПолучитьФизЮр(ФизЮр) Экспорт
    Если Объект.ЮрФизЛицо=Перечисления.ЮрФизЛицо.ФизическоеЛицо Тогда
    Объект.Наименование=Объект.Агент
    ИначеЕсли Объект.ЮрФизЛицо=Перечисления.ЮрФизЛицо.ЮридическоеЛицо Тогда
    Объект.Агент=Объект.Наименование;
    Иначе
    Сообщить("Вы ничего не выбрали!!!");
    КонецЕсли
КонецФункции

&НаКлиенте
Процедура ЮрФизЛицоПриИзменении(Элемент)
Объект.Агент=ПолучитьФизЮр(Объект.Агент);
КонецПроцедуры
1 ksru
 
18.11.16
12:32
я пытался
2 silent person
 
18.11.16
12:41
ни одной правильной строчки кода
3 silent person
 
18.11.16
12:45
в функции обязательно должен быть оператор Возврат.
Если полу в конфигураторе назначен определенный тип, то его никак уже не поменять. поэтому Наименованию (тип Строка) не присвоить значение поля Агент (тип Справочник) и соответственно наоборот.
4 silent person
 
18.11.16
12:49
ты можешь в поле Наименование записать Наименование из справочника Агенты.
Объект.Наименование=Объект.Агент.Наименование;
а для заполенеия поля Агент. надо создавать новый элемент справочника Агенты, устанавливать у него наименование из поля Объект.Наименование и уже этот новый элемент справочника присваивать полю Объект.Агент
5 YFedor
 
18.11.16
12:57
(0) В поле с типом "Строка" нельзя запихнуть значение типа "Справочник"

В таком виде задача решения не имеет. Но я полагаю задача была другой, а не той, что описана в (0)
6 ksru
 
18.11.16
13:01
в общем смысл такой
https://yadi.sk/i/z29LXHQZytid8
7 ksru
 
18.11.16
13:03
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс