Как обратиться к реквизиту справочника 1с

Обновлено: 07.07.2024

приведет к ошибке. Такие конструкции возможны только на сервере.

Предположим, что стоит задача при нажатии на кнопку отобразить ИНН контрагента, выбранного на форме. Для решения поставленной задачи необходимо обратиться на сервер для получения требуемой информации(ИНН). Программный код может иметь вид:

При нажатии на кнопку ПолучитьИНН вызывается серверная функция ПолучитьИНННаСервере () . В единственном параметре передается контрагент, выбранный интерактивно пользователем. Функция получает ИНН через точку и сразу же возвращает значение обратно на клиент. Результат работы серверной функции помещается в переменную ИННКонтрагента и выводится пользователю с помощью метода Сообщить () .

Серверная функция является внеконтекстной ( &НаСервереБезКонтекста ). Это значит, что данные, содержащиеся в форме, не будут отсылаться на сервер, что уменьшит объем передаваемых данных и скорость возврата результата функции.

Внимание!

При работе с конфигурациями, в которые встроена библиотека стандартных подсистем, вместо получения реквизита через точку рекомендуется использовать функцию ЗначениеРеквизитаОбъекта () из общего модуля ОбщегоНазначения . Таким образом, строку

можно заменить на:

В случае, когда значение реквизита нужно только для визуального отображения пользователю, можно пойти другим путем: имеется возможность вывести реквизит от ссылочного значения на форму. При этом пользователь не сможет отредактировать этот реквизит.

Рассмотрим пример: на форме документа рядом с полем ввода контрагента должен выводиться его ИНН. Для этого перенесем реквизит ИНН на форму:

Выбор подчиненного реквизита

В пользовательском режиме при указании контрагента, его ИНН будет автоматически отображен на форме. Никакого программирования в этом случае не потребовалось.

Остались вопросы?
Спросите в комментариях к статье.

Извиняюсь за дурацкий вопрос, но я что-то не могу понять как получить доступ к реквизиту существующего справочника из модуля обработки события "ПриИзменении" элемента формы документа, подскажите как правильно это сделать?

Добавлено через 6 минут
версия 1С 8.2.

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь


Как реквизит справочника подставить реквизиту документа
Всем привет. Начал изучать 1С нужно сделать чтобы при выборе сотрудника в ДокументеНаряд его.


Доступ к доп.реквизиту документа
8.2 Управляемое приложение Управление небольшой фирмой Опять аналогичная мини проблема с.

Форму выбора справочника с отбором по реквизиту
Документ Допуски Создан Реквизит Должность, тип Справочник Должность Создана ТЧ с реквизитом.

как можно обратиться к реквизиту справочника из модуля документа?
я пытаюсь вот таким образом: &НаКлиенте Процедура ПробегПриИзменении(Элемент).

честно говоря не знаю обычное оно или управляемое, ну в документе есть табличная часть, в этой табличной части есть реквизит и вот модуль вызывается при изменении реквизита табличной части документа, необходимо реализовать что-то типо авто рассчета. К данным нельзя обращаться на клиенте, перенеси процедуру получения реквизита на сервер

теперь не работает, не заполняет поле Сумма, но ошибки не выдает

Добавлено через 17 минут
сделал вот так вот:

Создал общий модуль
ПолучениеРеквизита
вот содержимое его:
при изменении количество часов выпригивает ошибка " Метод объекта не обнаружен (ПолучитьРеквизит)" что я напортачил ? " Метод объекта не обнаружен (ПолучитьРеквизит)" что я напортачил ?

Это потому что ты галочку у модуля не поставил (вызов сервера)

Добавлено через 28 секунд

То что у вас написано вряд ли вообще работать будет.

Добавлено через 8 минут

а что делает функция Сообщить ? зачем она ? и в качестве форматного параметра можно передовать строковую константу если мне всегда необходимо для 1 сотрудника рассчитывать ?

Добавлено через 48 секунд
эти обе функции в одном модуле изменения описать ?

вот единственно: на сервере не работает. А так: сообщает. Синт.пом глядим, да?

и почему пропущено имя справочника ? при получении ссылки

Добавлено через 10 минут
все заработало, спасибо)


Как присвоить реквизиту ТЧ документа значение реквизита справочника?
Есть справочник "Номенклатура" в нем реквизит РозничнаяЦена, Документ "ПриходнаяНакладная" с.

Как присвоить реквизиту ТЧ документа значение реквизита справочника
Есть справочник Номенклатура, в котором реквизит "Дата выхода" типа Дата И документ "Прием.


Обращение к реквизиту справочника программно
Здарова. Ситуация: создал справочник, в нём реквизиты. В справочнике ФормаЭлемента создал команду.


Ошибка при обращении к реквизиту справочника.
есть справочник ЕдиницыИзмерения с реквизитом КоличествоВШтуках. В приходной накладной в табличной.

Есть документ.
Например "Календарь".
К нему добавляем дополнительное сведение типа строка.
У дополнительного сведения есть 2 поля: 1. Наименование "Событие", 2. Имя "СведСобытия".

Ссылку по наименованию получаю через поиск. ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Событие");
Вопрос?
А как обратиться к сведению по имени "СведСобытия"?

И если можно, второй вопрос.
Почему при параметры точного поиска истина "НайтиПоНаименованию" пытается запросить "Событие (Календарь)", хотя в наименовании свойства слова "Календарь" нет?
Можно ли в отборе сразу указать к какому документу относится данное поле? По полученному сведению пытаюсь получить родителя и владельца - возвращает пустые значения.

Простите за резкость, но это не вопрос, а несвязная мешанина горячечного бреда!

Есть документ "Календарь". К нему добавляем дополнительное свойство типа строка.

Добавлен реквизит? Добавлено значение в регистр сведений в разрезе характеристики?

У дополнительного свойства имени 2: 1. Наименование "Событие", 2. Имя "СведСобытия".

Наименование - предопределенный реквизит справочников, счетов, расчетов, обменов, характеристик и задач. Имя - это предопределенное свойство множества элементов метаданных и некоторых объектов встроенного языка. Какое все это имеет отношение к вашему документу "Календарь" не понятно!

Ссылку по наименованию получаю через поиск. А как обратиться к сведению по имени "СведСобытия"?

В документах поиск по Наименованию не предусмотрен - только по номеру и по реквизиту. Если вы своему документу дали реквизит "Имя", то так и ищите - Документы.Календарь.НайтиПоРеквизиту("Имя", "СведСобытия"). Если у вас несколько документов с таким реквизитом, то получите только первый случайно попавшийся из них.

НайтиПоНаименованию при параметры точного поиска истина, поиск пытается запросить "Событие (Календарь)"?

"Событие (Календарь)" - это новый документ связанный с Календарем? К чему это все? Если ищете в списке документов "Календарь", то найдете документы только этого вида; если ищете среди Событий, то и получите событие. При чем тут точность? Точность просто сигнализирует, что нам не интересна часть наименования за первой половиной, которая совпала с поисковой строкой.

Можно ли в отборе сразу указать к какому документу относится данное поле?

Менеджер документа связан только со своим видом документов - даже если сильно захотеть, то его методами все равно никогда не получить данные из чужих видов документов.

По полученному сведению пытаюсь получить родителя и владельца - возвращает пустые значения.

Что за сведения? Какой-то реквизит вашего документа? Вы пока говорили, что у вас реквизиты строкового типа - у вас свойства родителя и владельца просто не существуют и при попытке к ним обратится должна генерироваться ошибка. Если вы взяли какой-то ссылочный реквизит, то эти свойства пустые у пустых ссылок. Еще вариант, что у ваших объектов просто нет владельца и группы.

Дмитрий, у вас 1С головного мозга.
Я вот так же документацию читал, и ни черта не понял.

1. Добавлено сведение. Не реквизит.
Оно добавляется в режиме предприятия - "Дополнительные сведения".
2. Добавляя дополнительное сведение к документы ты сам задаешь и Наименование и есть возможность задать Имя (если не задал, оно генерируется автоматически)
3. Я ищу не документ по наименованию, я ищу Дополнительное сведение по наименованию и нахожу, но хочу обращаться напрямую по имени, т.е. без поиска.

Т.к. упустили важную деталь что работаем НЕ с документом, НЕ с реквизитом, А с дополнительным сведением документа, то все остальные 90% ответа - не в тему и какая-то мешанина.
Возможно вас запутало слово "свойство". Извините.
НО эта строка и основной вопрос должны были однозначно дать понять о чем идет речь: ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию
1С. Как обращаться по имени к дополнительным сведениям документов?

З.Ы.:
Исправлю в тексте
"К нему добавляем дополнительное свойство типа строка.
У дополнительного свойства имени 2: 1. Наименование "Событие", 2. Имя "СведСобытия"."
Что тут не свойство, а сведение.

Круто вы же общаетесь с теми, кто вас не проигнорил, а попытался помочь, не смотря на то что вы не знаете ни 1С, ни русский язык. Для верности еще скажите вашему врачу, что у него запор головного мозга, вызванному электрику - про замыкание головы, работнику СТО - про тормозную жидкость в мозгах, а жене вообще про отсутствие каких-либо мозгов. Ваша жизнь точно наладится и все верно получится!

Напоследок и без дальнейших комментариев:
1С Предприятие - это многофункциональная платформа для программирования. Задавая вопросы по "1С" вы получите ответы по платформе. Если вас интересует конкретно Бухгалтерия, Зарплата, Общепит или Управление ЖКХ - то задавайте вопросы с указанием конфигурации.

Я вот так же документацию читал, и ни черта не понял.

А зачем читать документацию для профессионалов? Вы даже терминами не владеете.

Регистр сведений? Других "сведений" в платформе 1С не существует (разработчики конфигураций свои элементы могут называть как хотят).

Оно добавляется в режиме предприятия - "Дополнительные сведения".

В режиме предприятия "проигрывается" некоторая конфигурация. В некоторых древних типовых конфах была связка ПВХ+РегистрСведений, которые позволяли описать новые свойства для половины справочников и документов, с возможностью выводить данную информацию в отчеты.

2. Добавляя дополнительное сведение к документы ты сам задаешь и Наименование и есть возможность задать Имя (если не задал, оно генерируется автоматически)

Какая-то ваша доработка. Обычно только имя свойства и его значение.

3. Я ищу не документ по наименованию, я ищу Дополнительное сведение по наименованию и нахожу, но хочу обращаться напрямую по имени, т.е. без поиска.

Для этого создают предопределенные элементы в конфигураторе. Иначе только поиски по Наименованию или реквизиту.

Читайте также: