Имя: Пароль:
1C
1С v8
как получить адрес из справочника
,
0 88g88
 
09.09.13
15:47
Здравствуйте.
Как в форме выбора при выборе контр агента записать дополнительные данные из справочника (наименование, адрес, номер телефона, банковские реквизиты).

ну с наименованием еще ясно. Уже научили меня)))))))) СПАСИБО ФОРУМЧАНЕ!

Заказчик = элемент.Значение.Наименование  + " " + (адрес ?????)

А как получить адрес?

По элементам смотрел (через отладчик) нет этого значения. И где искать не знаю.
1 cw014
 
09.09.13
15:48
В регистрах сведений "Адресная информация"
2 cw014
 
09.09.13
15:48
Ой
3 cw014
 
09.09.13
15:48
Контактная информация
4 88g88
 
09.09.13
16:00
где в справочниках найти я знаю а как кодом получить?

к примеру наименование и инн можно так

Заказчик = элемент.Значение.Наименование  + " " + элемент.Значение.ИНН

а как адрес юр лица и остальное?
5 rbcvg
 
09.09.13
16:09
(4) запросом к РС Контактная информация
6 88g88
 
09.09.13
16:15
(5) PC это что? :)
7 hhhh
 
09.09.13
16:16
РайСобес
8 rbcvg
 
09.09.13
16:16
(6) Регистр сведений
9 LehhaK
 
09.09.13
16:17
(6) Регистр сведений. Позовите специалиста
10 88g88
 
09.09.13
16:17
:)
11 WhiteDragon93
 
09.09.13
16:19
(0) не уверен, что будет работать, но все же

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

Если Не Результат.Пустой() Тогда
    Рез = Результат.Выбрать();
    ЮрАдрес = Рез.Следующий().Представление;
КонецЕсли;
12 zladenuw
 
09.09.13
16:22
надо на мисте сделать ограничение при регистрации. пару вопросов с сертифкации платформы. а то вопросы капец.
13 WhiteDragon93
 
09.09.13
16:25
+(11) ЮрАдрес и будет содержать юридический адрес контрагента (кэп).

Еще нужно будет создать переменную "Контрагент" равную контрагенту, адрес которого нужно получить
14 88g88
 
09.09.13
16:50
(11) не получилось(

может с переменной накосячил?

Перем контрагент ;
    контрагент = Заказчик2;
    Тип = Перечисления.ТипыКонтактнойИнформации.Адрес;
    Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента;
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    КонтактнаяИнформация.Представление
    |ИЗ
    |    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
    |ГДЕ
    |    КонтактнаяИнформация.Объект = &Контрагент
    |    И КонтактнаяИнформация.Вид = &Вид
    |    И КонтактнаяИнформация.Тип = &Тип";
    Запрос.УстановитьПараметр("Контрагент",Контрагент);
    Запрос.УстановитьПараметр("Тип",Тип);
    Запрос.УстановитьПараметр("Вид",Вид);
    Результат = Запрос.Выполнить();
15 88g88
 
09.09.13
16:54
Заказчик2 это имя поля ввода в форме выбора привязанного к справочнику контрарегты
16 Ilch
 
09.09.13
16:56
(12) Согласен!
17 Serg_1960
 
09.09.13
16:58
ТС, на форуме есть кнопка "Поиск" - попробуй нажать ипоискать фразу "РегистрСведений.КонтактнаяИнформация" :)
18 Ilch
 
09.09.13
16:59
Запрос = Новый Запрос;
        Запрос.УстановитьПараметр("Контрагент",НашКонтрагент);
        Запрос.Текст =  "ВЫБРАТЬ
        |    КонтактнаяИнформация.Объект КАК Контрагент,
        |    КонтактнаяИнформация.НомерТЦ,
        |    КонтактнаяИнформация.Представление КАК АдресДоставки
        |ИЗ
        |    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
        |ГДЕ
        |    КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)
        |    И КонтактнаяИнформация.Объект = &Контрагент"
        ;
    Результат = Запрос.Выполнить().Выгрузить();
19 Ilch
 
09.09.13
16:59
В общем тоже самое предложил...
20 WhiteDragon93
 
09.09.13
17:01
(14) ссылка нужна, а наименование
если тупо и не красиво:
Контрагент = Справочники.Контрагенты.НайтиПоНаименованию(Заказчик2)

вроде верно написал
21 WSeagull
 
09.09.13
17:04
Ну еще один не всяк случай, хотя первый вариант в консоле работает:
Запрос = Новый Запрос();
    Запрос.Текст = "ВЫБРАТЬ
                   |    Контрагенты.Ссылка,
                   |    КонтактнаяИнформация.Представление
                   |ИЗ
                   |    Справочник.Контрагенты КАК Контрагенты
                   |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
                   |        ПО Контрагенты.Ссылка = КонтактнаяИнформация.Объект
                   |ГДЕ
                   |    Контрагенты.Ссылка = &Ссылка
                   |    И КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)
                   |    И КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресКонтрагента)";
                  
    Запрос.УстановитьПараметр("Ссылка", Контрагент);
    
          
    Результат= Запрос.Выполнить();
    Выборка=Результат.Выбрать();
    Выборка.Следующий();
    Адрес=Выборка.Представление;
    Сообщить("Адрес="+Адрес);
22 88g88
 
09.09.13
17:39
(21) Это вариант подошёл ВСЕМ СПАСИБО!!!!!!!!!!!!!
буду разбираться с запросами!

только добавил своё значение
ОГРОМНОЕ СПАСИБО!!!

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