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

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

02.11.2018, 13:27. Показов 41692. Ответов 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
3065 / 2012 / 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
3065 / 2012 / 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
3065 / 2012 / 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
3065 / 2012 / 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
4211 / 950 / 267
Регистрация: 22.04.2013
Сообщений: 6,598
Записей в блоге: 1
06.11.2018, 12:12
мммм, может тоже попробовать объект написать?
0
1 / 1 / 1
Регистрация: 11.11.2013
Сообщений: 103
06.11.2018, 12:16  [ТС]
Yulunga, нет такого объекта =( пробовал уже
0
Эксперт 1С
 Аватар для GreenkA
3065 / 2012 / 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
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru