Имя: Пароль:
1C
 
Не отображаются данные из запроса в поле ввода
,
0 amadeus2010
 
01.01.15
21:41
С наступившим Новым Годом, такой вопрос. Создал процедуру в которой запросом из РС Контактная информация в поля ввода должны указываться значения.
Вот сам процедура
//////////////////////////////////////////////////////////////////////
Процедура ЗаполнитьТелефон()  //Дима+
ТекстЗапроса ="ВЫБРАТЬ
|    КонтактнаяИнформация.Объект,
|    КонтактнаяИнформация.Тип,
|    КонтактнаяИнформация.Представление КАК Адрес,
|    КонтактнаяИнформация.Поле3 КАК Телефон
|ИЗ
|    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
|ГДЕ
|    КонтактнаяИнформация.Объект = &Контрагент";

Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("Тип", Перечисления.ТипыКонтактнойИнформации.Телефон);
Запрос.УстановитьПараметр("Контрагент", Наименование);

Результат = Запрос.Выполнить().Выбрать();

Телефон= Результат.Тип;
Адрес = Результат.Адрес;
////////////////////////////////////////////////////////////////
Вызов процедуры реализуется в процедуре
///////////////////////////////////////////////////////
Процедура ТорговаяТочкаПриИзменении(Элемент)
ЗаполнитьТелефон();    
КонецПроцедуры
///////////////////////////////////////////////////////
дело в том что данные не показываются хотя они есть в самом регистре.
1 XLife
 
01.01.15
21:43
|ГДЕ
|    КонтактнаяИнформация.Объект = &Контрагент";

и

Запрос.УстановитьПараметр("Контрагент", Наименование);
2 amadeus2010
 
01.01.15
22:00
Наименование это реквизит справочника в него передается значение регистра
3 XLife
 
01.01.15
22:05
(2) типы совпадают?
4 XLife
 
01.01.15
22:08
и где Результат.Следующий();?
5 Лохматые Уши
 
01.01.15
22:09
Результат = Запрос.Выполнить().Выбрать();

Данные выбраны. А где дальнейшая обработка?

Результат.Следующий() например.
6 XLife
 
01.01.15
22:12
и вообще в данной реализации может вернуться более одного значения...
7 amadeus2010
 
01.01.15
23:03
Сейчас добавлю обработку
8 MaXpaT
 
01.01.15
23:05
// Запрос.УстановитьПараметр("Контрагент", Наименование);

"Наименование" какого типа?
9 amadeus2010
 
01.01.15
23:12
строка, ввод имени контрагента в поле ввода Наименование
10 MaXpaT
 
01.01.15
23:19
(9) ну вот сам и ответил на свой вопрос

тебе в (1) же сразу пальцем показали, что типы не совпадают, условие не отрабатывает, запрос пустой результат выпадает
11 amadeus2010
 
02.01.15
13:27
Немного изменил процедуру, но запрос выдает все равно пустой результат
//////////////////////////////////////////////////////
Процедура ЗаполнитьТелефон()  //Дима+
ТекстЗапроса ="ВЫБРАТЬ
|    КонтактнаяИнформация.Объект,
|    КонтактнаяИнформация.Тип,
|    КонтактнаяИнформация.Представление КАК Адрес,
|    КонтактнаяИнформация.Поле3 КАК Телефон
|ИЗ
|    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
|ГДЕ
|    КонтактнаяИнформация.Объект = &Контрагент";

Запрос = Новый Запрос(ТекстЗапроса);
//Запрос.УстановитьПараметр("Тип", Перечисления.ТипыКонтактнойИнформации.Телефон);
Запрос.УстановитьПараметр("Контрагент", СправочникОбъект.Наименование);

Результат = Запрос.Выполнить().Выбрать();

Пока Результат.Следующий() Цикл
    Телефон= Результат.Телефон;
    Адрес = Результат.Адрес;
КонецЦикла;    

КонецПроцедуры    
////////////////////////////////////////////////////
12 Остап Сулейманович
 
02.01.15
13:37
(11) Так и должно быть.
13 hhhh
 
02.01.15
13:43
(11) Запрос.УстановитьПараметр("Контрагент", СправочникОбъект.ссылка);
14 amadeus2010
 
02.01.15
19:13
Сделал так как посоветовали
/////////////////////////////////////////////////////////////
Процедура ЗаполнитьТелефон()  //Дима+
ТекстЗапроса ="ВЫБРАТЬ
|    КонтактнаяИнформация.Объект,
|    КонтактнаяИнформация.Тип,
|    КонтактнаяИнформация.Представление КАК Адрес,
|    КонтактнаяИнформация.Поле3 КАК Телефон
|ИЗ
|    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
|ГДЕ
|    КонтактнаяИнформация.Объект = &Контрагент
|    И КонтактнаяИнформация.Тип = &Тип";


Запрос = Новый Запрос(ТекстЗапроса);
//Запрос.УстановитьПараметр("Тип", Перечисления.ТипыКонтактнойИнформации.Телефон);
Запрос.УстановитьПараметр("Контрагент", СправочникОбъект.Ссылка);


Результат = Запрос.Выполнить().Выбрать();

Пока Результат.Следующий() Цикл
    Телефон= Результат.Телефон;
    Адрес = Результат.Адрес;
КонецЦикла;    

КонецПроцедуры    
///////////////////////////////////////////////////////
Но в поле телефон и Адрес ставиться значение из Поле3 РС Контактная информация.
15 iceman2112
 
02.01.15
19:19
Ты курсе что есть типовые функции получение адреса, телефона и прочей ерунды из РС Контактная информация?
16 iceman2112
 
02.01.15
19:20
По контрагенту
17 iceman2112
 
02.01.15
19:20
Какая конфа?
18 amadeus2010
 
02.01.15
19:58
конфигурация УТ 10.3, немного доработанная. А какие функции, напомните пожалуйста
19 mehfk
 
02.01.15
20:05
см. Общий модуль УправлениеКонтактнойИнформацией
20 mehfk
 
02.01.15
20:05
Общий модуль ФормированиеПечатныхФорм
21 XLife
 
02.01.15
20:06
(18) ты кем работаешь?
22 amadeus2010
 
03.01.15
01:38
я сейчас просмотрел функции, нашел наиболее подходящие
23 amadeus2010
 
03.01.15
02:18
Изменил процедуру следующим образом
/////////////////////////////////////////////////////////
Процедура ЗаполнитьТелефон()  //Дима+
//ТекстЗапроса ="ВЫБРАТЬ
//|    КонтактнаяИнформация.Объект,
//|    КонтактнаяИнформация.Тип,
//|    КонтактнаяИнформация.Представление КАК Адрес,
//|    КонтактнаяИнформация.Поле3 КАК Телефон
//|ИЗ
//|    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
//|ГДЕ
//|    КонтактнаяИнформация.Объект = &Контрагент
//|    И КонтактнаяИнформация.Тип = &Тип";


//Запрос = Новый Запрос(ТекстЗапроса);
////Запрос.УстановитьПараметр("Тип", Перечисления.ТипыКонтактнойИнформации.Телефон);
//Запрос.УстановитьПараметр("Контрагент", СправочникОбъект.Ссылка);


//Результат = Запрос.Выполнить().Выбрать();

//Пока Результат.Следующий() Цикл
//    Телефон= Результат.Телефон;
//     Адрес = Результат.Адрес;
//КонецЦикла;    

УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(СправочникОбъект.Адрес);
УправлениеКонтактнойИнформацией.ПолучитьТелефонИзКонтактнойИнформации(СправочникОбъект.Телефон);

КонецПроцедуры
/////////////////////////////////////////////////////////
При этом выходит ошибка {ОбщийМодуль.УправлениеКонтактнойИнформацией.Модуль(2036)}: Поле объекта не обнаружено (Телефон)
    ВидТелефона = Справочники.ВидыКонтактнойИнформации["Телефон" + Окончание].ПолучитьОбъект().Ссылка;
24 zippygrill
 
03.01.15
02:25
Ни разу не встретил чтоб у спр.Контрагенты был реквизит "Телефон"
25 notebug
 
03.01.15
09:34
идет борьба с 1с методом тыка без понимания сути происходящего.

задали очень волнующий вопрос: кем работаешь? даже мне интересно стало....
26 iceman2112
 
03.01.15
09:39
Как? Кто мне объяснит, ну как?
Установка 1С Предприятие 8.2, доработка конфигураций УПП 1.2,УПП 1.3,Розница 1.0, УТ 10.3, УНФ, Комплексная автоматизация, Агент плюс Мобильная Торговля, Микроинвест Склад Про в компаниях и сети розничных магазинов
27 iceman2112
 
03.01.15
09:39
это ТС, ну как?
28 amadeus2010
 
03.01.15
11:28
относительно реквизита Телефон и Адрес -это было пожелание заказчика.Справочник Контрагенты очень сильно был изменен под нужды клиенты, добавлены дополнительные реквизиты. Он стал чем то напоминать справочник Торговые точки от Агент плюс УТ 10.3. Работаю консультантом по внедрению и от части программирование