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

Функция возврата значения реквизита

Автор denis-moscow1987, 01 июл 2014, 22:15

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

denis-moscow1987

Здравствуйте, ситуация следующая.
Имеется Документ, в нем ТЧ. В ТЧ есть два реквизита ФИО и Телефон.
ФИО- Тип: СправочникСсылка.КонтактныеЛица.
В Метаданных в Справочнике есть Таблица КонтактныеДанные в ней реквизит Представление в котором хранится номер телефона.  В запросе:
ВЫБРАТЬ
Представление
ИЗ
Справочник.контактныеЛица.КонтактныеДанные
Показано, значение.
Вот код в УФ.
&НаСервере
функция   ТелефонЛица(КонтактныеЛица)
   КонтактныеЛица=КонтактныеЛица.КонтактнаяИнформация;
возврат КонтактныеЛица.Представление;
   
КонецФункции// ТелефонЛица()

&НаКлиенте
Процедура ЗагрузкаВыгрузкаФИОНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
   Элементы.ЗагрузкаВыгрузка.ТекущиеДанные.Телефон=ТелефонЛица(Элементы.ЗагрузкаВыгрузка.ТекущиеДанные.ФИО);
КонецПроцедуры
Ошибка:
Поле объекта не обнаружено (Представление)
возврат КонтактныеЛица.Представление;

Что не так? Моет кто то сталкивался с этим в БП 3.0. Спасибо

cska-fanat-kz

Хотя бы вот так...

КонтактныеЛица=КонтактныеЛица.КонтактнаяИнформация[0];
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

denis-moscow1987

{Документ.ЗаявкаНаТранспортноеСредство.Форма.ФормаДокумента.Форма(753)}: Ошибка при вызове метода контекста (ТелефонЛица)
  Элементы.ЗагрузкаВыгрузка.ТекущиеДанные.Телефон=ТелефонЛица(Элементы.ЗагрузкаВыгрузка.ТекущиеДанные.ФИО);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'ret':
   форма: Элемент
   имя: {http://v8.1c.ru/8.2/managed-application/modules}ret
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'СправочникТабличнаяЧастьСтрока.КонтактныеЛица.КонтактнаяИнформация'
Добавлено: 02 июл 2014, 09:41


Цитата: denis-moscow1987 от 02 июл 2014, 09:38
{Документ.ЗаявкаНаТранспортноеСредство.Форма.ФормаДокумента.Форма(753)}: Ошибка при вызове метода контекста (ТелефонЛица)
  Элементы.ЗагрузкаВыгрузка.ТекущиеДанные.Телефон=ТелефонЛица(Элементы.ЗагрузкаВыгрузка.ТекущиеДанные.ФИО);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'ret':
   форма: Элемент
   имя: {http://v8.1c.ru/8.2/managed-application/modules}ret
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'СправочникТабличнаяЧастьСтрока.КонтактныеЛица.КонтактнаяИнформация'


&НаСервере
функция ТелефонЛица(КонтактныеЛица)
КонтактныеЛица=КонтактныеЛица.КонтактнаяИнформация[0];
возврат КонтактныеЛица;

КонецФункции// ТелефонЛица()

&НаКлиенте
Процедура ЗагрузкаВыгрузкаФИОНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
   СтандартнаяОбработка=Ложь;
  Элементы.ЗагрузкаВыгрузка.ТекущиеДанные.Телефон=ТелефонЛица(Элементы.ЗагрузкаВыгрузка.ТекущиеДанные.ФИО);
 
КонецПроцедуры

Добавлено: 02 июл 2014, 10:24


Сделал, тема закрыта.
Код кому интересно , как это

&НаСервере
Функция ТелефонЛица(ФИО)
   Запрос = новый запрос();
        Запрос.Текст ="ВЫБРАТЬ             
            
            |     Лицо.Ссылка КАК ОбъектВладелец,
            |     Лицо.Представление КАК Представление
            |     ИЗ
            |     Справочник.КонтактныеЛица.КонтактнаяИнформация КАК Лицо
            |    ГДЕ Лицо.Ссылка=&ФизическиеЛица";
            
Запрос.Параметры.Вставить("ФизическиеЛица", ФИО);
Рез = Запрос.Выполнить().Выбрать();
  рез.Следующий();
Возврат рез.Представление;
КонецФункции// ТелефонЛица()

&НаКлиенте
Процедура ЗагрузкаВыгрузкаФИОНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    Элементы.ЗагрузкаВыгрузка.ТекущиеДанные.Телефон=ТелефонЛица(Элементы.ЗагрузкаВыгрузка.ТекущиеДанные.ФИО);
КонецПроцедуры

Теги:

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

Рейтинг@Mail.ru

Поиск