С Новым годом! Форум программистов, компьютерный форум, киберфорум
1С: Типовые и стандартные решения
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/190: Рейтинг темы: голосов - 190, средняя оценка - 4.75
1 / 1 / 1
Регистрация: 11.11.2013
Сообщений: 103

Получение данных контактной информации

02.11.2018, 13:27. Показов 41103. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Изучаю 1с по книге Игоря Ощенко Азбука программирования в 1с:предприятие 8.3, нужно получить адрес контрагента.
В книге написан код:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Функция ПолучитьАдресКонтрагента(Объект)
    ФункцияВернет ="";
    Запрос = Новый Запрос;
    Запрос.Текст = "
    |ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |КонтактнаяИнформация.Тип КАК Тип,
    |КонтактнаяИнформация.Вид КАК Вид,
    |КонтактнаяИнформация.Представление КАК Представление
    |ИЗ                                                 
    |РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
    |ГДЕ
    |КонтактнаяИнформация.Объект = &Объект";
    
    Запрос.УстановитьПараметр("Объект", Объект);
    РезультатПоиска = Справочники.ВидыКонтактнойИнформации.НайтиПоКоду("000000002");
    Результат = Запрос.Выполнить().Выбрать();
...
Я так понял этот код написан для НЕУПРАВЛЯЕМОЙ формы, попробовал его переписать под УФ, получилось так:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Функция ПолучитьАдресКонтрагента(Объект)
    ФункцияВернет ="";
    Запрос = Новый Запрос;
    Запрос.Текст = "
    |ВЫБРАТЬ
    |КонтактнаяИнформация.Тип КАК Тип,
    |КонтактнаяИнформация.Вид КАК Вид,
    |КонтактнаяИнформация.Представление КАК Представление
    |ИЗ                                                 
    |Справочник.Контрагенты.КонтактнаяИнформация КАК КонтактнаяИнформация
    |ГДЕ
    |КонтактнаяИнформация.Объект = &Объект";
    
    Запрос.УстановитьПараметр("Объект", Объект);
    РезультатПоиска = Справочники.ВидыКонтактнойИнформации.НайтиПоКоду("000000002");
    Результат = Запрос.Выполнить().Выбрать();
При выборе Документа в 1с выдаётся ошибка:
{Документ.Развозка.Форма.ФормаДокумента. Форма(17)}: Ошибка при вызове метода контекста (Выполнить)
Результат = Запрос.Выполнить().Выбрать();
по причине:
{(9, 22)}: Поле не найдено "КонтактнаяИнформация.Объект"
КонтактнаяИнформация.<<?>>Объект = &Объект.
Как правильно переписать код? И что такое КонтактнаяИнформация.Объект = &Объект", не могу разобраться. Помогите, пжл

З.Ы.: я так понимаю в Регистре Сведений Контактной информации нет. Не нашёл такой регистр
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.11.2018, 13:27
Ответы с готовыми решениями:

Выбрать и адрес, и телефон, и ящик из контактной информации
Привет. У меня тут снова вопрос родился. Мне надо получить контактную информацию(адрес, телефон и мыло), делаю вот так Запрос2 =...

Порядок типов контактной информации в карточке контрагента
Всем доброго времени суток. В 1С 8.2, УТ10.3, в карточке контрагента есть вкладка контактная информация. Хочу добавить новый вид...

Добавление Окна Ввода Контактной Информации В Документ.
Здравствуйте, имеется Управление торговлей, редакция 11.0 (11.0.8.11) . Скажите пожалуйста как добавить поле ввода, в котором при нажатии...

14
Эксперт 1С
 Аватар для GreenkA
3064 / 2011 / 525
Регистрация: 25.06.2009
Сообщений: 6,964
02.11.2018, 13:29
vitek944, у вас запросы к совершенно разным объектам: в книге в регистру сведений, в вашей коде - к табличной части справочника Контрагенты. Там точно есть поле Объект?
0
1 / 1 / 1
Регистрация: 11.11.2013
Сообщений: 103
02.11.2018, 13:42  [ТС]
GreenkA, в З.Ы. написал что обращаюсь в справочнику, т.к. регистра такого нет. А вот как узнать есть объект или нет? Литературы в инете много, а вот с толковой беда если честно.
0
Эксперт 1С
 Аватар для GreenkA
3064 / 2011 / 525
Регистрация: 25.06.2009
Сообщений: 6,964
02.11.2018, 13:43
vitek944, выложите вашу конфигурацию.
0
1 / 1 / 0
Регистрация: 02.11.2018
Сообщений: 17
02.11.2018, 14:03
Сложно ответить не видя конфигурацию, м.б. в вашей конфигурации регистр КонтактнаяИнформация как-нибудь иначе называется?Посмотрите куда записывается эта информация при записи справочника, в какие регистры
0
1 / 1 / 1
Регистрация: 11.11.2013
Сообщений: 103
02.11.2018, 15:05  [ТС]
https://yadi.sk/d/c7a4agDcEfd98g Конфигурация УТ (демо). Мной добавлялись только: справочник Автомобили, Журнал и Документ "Развозка"
Если у кого есть стоящая литера по 1С (именно чтоб разжёвывалось "что, откуда берётся и куда вставляется") присылайте названия, буду благодарен. В инете то книг много и на форуме много, только всё поверхностно описано. Так же как и в данном случае
1C
1
КонтактнаяИнформация.Объект = &Объект";
почему именно Объект и для чего его берут называется догадайся сам.
0
Эксперт 1С
 Аватар для GreenkA
3064 / 2011 / 525
Регистрация: 25.06.2009
Сообщений: 6,964
02.11.2018, 15:54
Лучший ответ Сообщение было отмечено vitek944 как решение

Решение

Цитата Сообщение от vitek944 Посмотреть сообщение
почему именно Объект и для чего его берут называется догадайся сам.
это параметр. В УТ вам достаточно передать в этот параметр ссылку на нужного Контрагента:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Функция ПолучитьАдресКонтрагента(Объект)
    ФункцияВернет ="";
    Запрос = Новый Запрос;
    Запрос.Текст = "
    |ВЫБРАТЬ
    |КонтактнаяИнформация.Тип КАК Тип,
    |КонтактнаяИнформация.Вид КАК Вид,
    |КонтактнаяИнформация.Представление КАК Представление
    |ИЗ                                                 
    |Справочник.Контрагенты.КонтактнаяИнформация КАК КонтактнаяИнформация
    |ГДЕ
    |КонтактнаяИнформация.Ссылка= &Объект";
    
    Запрос.УстановитьПараметр("Объект", Объект);
    РезультатПоиска = Справочники.ВидыКонтактнойИнформации.НайтиПоКоду("000000002");
    Результат = Запрос.Выполнить().Выбрать();
0
1 / 1 / 0
Регистрация: 02.11.2018
Сообщений: 17
02.11.2018, 15:58
Рядом нет компа, но “обьект” - это Измерение в РегистреСведений КонтактнаяИнформация, в котором содержится ссылка на Контрагента.
Тип и Представление - это тоже измерения того же регистра, например, "Тип" (Перечисления.ТипыКонтактнойИнформации.Т елефон), "Вид" (ссылка на запись в справочнике "Справочники.ВидыКонтактнойИнформаци и" или Строка).

Т.е. выбираются записи из регистраСведений.КонтактнаяИнформация, где измерение Объект=Ссылке, которую вы передаете при выполнении функции - Функция ПолучитьАдресКонтрагента(Объект)

Вы же ищите по справочнику, в котором возможно нет поля Объект , есть реквизит “ссылка” на контрагента
Реквизиты Тип и Вид могут тоже отсутствовать
1
Эксперт 1С
 Аватар для GreenkA
3064 / 2011 / 525
Регистрация: 25.06.2009
Сообщений: 6,964
02.11.2018, 16:06
Hh_Anna, в УТ нет такого регистра сведений. Об этом уже написали выше. Все хранится в соответствующих табличных частях объекта.
0
1 / 1 / 0
Регистрация: 02.11.2018
Сообщений: 17
02.11.2018, 16:39
Не спорю, просто пояснила vitek944, почему в книге так написано (он писал, что не понимает “почему именно Объект и для чего его берут называется догадайся сам”
Сама, если честно, не работала в УТ и компа рядом нет, чтобы посмотреть, так что сорян, если неправа
0
1 / 1 / 1
Регистрация: 11.11.2013
Сообщений: 103
06.11.2018, 11:46  [ТС]
GreenkA, Действительно, прописал КонтактнаяИнформация.Ссылка= &Объект и работает, хотя перед этим тоже самое писал, выдовало ошибку. Мистика

Добавлено через 6 минут
Теперь следующую ошибку выдаёт: Переменная не определена (Документ)
Для Каждого ТекущаяСтрока Из <<?>>Документ.Товары Цикл
Цикл перебирает ТЧ Товары документа, выбранного в поле формы Документ.
Как правильно обратьтся к нему?
1C
1
2
3
4
5
6
Для Каждого ТекущаяСтрока Из Документ.Товары Цикл
        НоваяСтрокаТТН = Объект.ТТН.Добавить();
        НоваяСтрокаТТН.Товар = ТекущаяСтрока.Номенклатура;
        НоваяСтрокаТТН.Количество = ТекущаяСтрока.Количество;
        НоваяСтрокаТТН.ЕдиницаИзмерения = ТекущаяСтрока.ЕдиницаИзмерения;
    КонецЦикла;
0
Модератор
Эксперт 1С
 Аватар для Yulunga
4129 / 937 / 264
Регистрация: 22.04.2013
Сообщений: 6,539
Записей в блоге: 1
06.11.2018, 12:12
мммм, может тоже попробовать объект написать?
0
1 / 1 / 1
Регистрация: 11.11.2013
Сообщений: 103
06.11.2018, 12:16  [ТС]
Yulunga, нет такого объекта =( пробовал уже
0
Эксперт 1С
 Аватар для GreenkA
3064 / 2011 / 525
Регистрация: 25.06.2009
Сообщений: 6,964
06.11.2018, 14:17
Цитата Сообщение от vitek944 Посмотреть сообщение
выбранного в поле формы Документ
т.е. есть форма, а на ней поле Документ, а у этого Документа - ТЧ Товары?

Тогда
1C
1
2
3
4
5
6
Для Каждого ТекущаяСтрока Из Объект.Документ.Товары Цикл
        НоваяСтрокаТТН = Объект.ТТН.Добавить();
        НоваяСтрокаТТН.Товар = ТекущаяСтрока.Номенклатура;
        НоваяСтрокаТТН.Количество = ТекущаяСтрока.Количество;
        НоваяСтрокаТТН.ЕдиницаИзмерения = ТекущаяСтрока.ЕдиницаИзмерения;
    КонецЦикла;
Но только на сервере
1
1 / 1 / 1
Регистрация: 11.11.2013
Сообщений: 103
06.11.2018, 14:40  [ТС]
GreenkA, на сервере... точно точно) изменил с &НаКлиенте на &НаСервере и появился реквизит))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.11.2018, 14:40
Помогаю со студенческими работами здесь

Выборка контактной информации из запроса
Доброго времени суток. в УТ 10.3 написал следующие строки выборки контактной информации из запроса: Запрос = Новый Запрос; ...

Ввод данных, добавление данных, получение информации из файла по заданным критериям выборки
Все привет!!!Обращаюсь к вам за помощью...никак не получается решить задачку... Суть такая....Написать на языке программирования С++,...

Виды контактной информации непонятные элементы
Добрый день всем. Ситуация такова. Пришел обновлять типовую конфу БП 2.0, бух говорит что пропали поля ввода адресов при создании...

Построить описание класса, содержащего информацию о контактной информации организации
Построить описание класса, содержащего информацию о контактной информации организации (почтовый адресе, e-mail, 2 телефона). Предусмотреть...

Drupal, ubercart и payonline оформление заказа и передача контактной информации
Есть проблема Стоит Drupal, на нее нацеплен ubercart и привязана оплата картой через payonline При оформлении заказа, нас...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru