Код &НаКлиенте Процедура ОсновноеКонтактноеЛицоПриИзменении(Элемент) Если НЕ ПроверитьЗаполнениеРеквизита() Тогда Сообщить("Выбранное контактное лицо, "+Объект.ОсновноеКонтактноеЛицо+",не работает у контрагента."); КонецЕсли; КонецПроцедуры
&НаСервере Функция ПроверитьЗаполнениеРеквизита() Возврат (Объект.ОсновноеКонтактноеЛицо.ПредставительРаботает); КонецФункции &НаСервере Процедура УстановитьНомерПредставителя()
Объект.ТелефонКонтактногоЛица=Объект.ОсновноеКонтактноеЛицо.КонтактныеСведения; КонецПроцедуры При проверке выдает ошибку: {Справочник.Контрагенты.Форма.ФормаСписка.Форма(12,11)}: Переменная не определена (Объект)
работаю на версии 1С:Предприятие 8.3 (8.3.10.2650) |
Оборотные регистры накопления, последовательности, нумераторы, регистры сведений
Программное получение данных из регистра сведений
Решим следующую задачу. Нам хотелось бы вывести курс валюты на текущую дату в списке справочника Валюты.
Для начала создадим форму списка справочника Валюты.
Обратите внимание на то, что реквизит Список имеет тип ДинамическийСписок. Это означает, что мы можем вмешаться в создание этого списка, так как он строится на основе некоего запроса, генерируемого, в данном случае, системой автоматически. Для того, чтобы самостоятельно отредактировать запрос, который лежит в основе динамического списка, нам нужно в окне его свойств ( рис. 8.25.) установить флаг ПроизвольныйЗапрос.
После установки этого флага мы можем нажать на ссылку Открыть у поля Настройка списка и увидеть, какой именно запрос система построила для создания этого списка, рис. 8.26.
Дополним запрос таким образом, чтобы он выводил в дополнение к запрошенным полям еще и наиболее свежее значение курса. Запрос можно ввести вручную в поле Запрос, воспользоваться конструктором запроса, доступным из этого же поля или, как мы уже делали, сначала отладить запрос в консоли запросов, а потом добавить его в поле Запрос. То, что мы хотим, можно сделать с помощью следующего запроса:
ВЫБРАТЬ СправочникВалюты.Ссылка, СправочникВалюты.ВерсияДанных, СправочникВалюты.ПометкаУдаления, СправочникВалюты.Предопределенный, СправочникВалюты.Код, СправочникВалюты.Наименование, КурсыВалютСрезПоследних.Курс ИЗ Справочник.Валюты КАК СправочникВалюты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних КАК КурсыВалютСрезПоследних ПО СправочникВалюты.Ссылка = КурсыВалютСрезПоследних.Валюта
Здесь мы получаем из виртуальной таблицы КурсыВалютСрезПоследних наиболее поздние значения курса, не прибегая к специальной настройке ее параметров.
После показанной модификации запроса, формирующего динамический список и размещения в форме списка справочника нового поля Курс, которое будет доступно в списке реквизитов динамического списка, форма списка приобретет вид, показанный на рис. 8.27.
Выводы
В этой лекции мы рассмотрели особенности работы с оборотными регистрами накопления, с регистрами сведений, последовательностями и нумераторами. Рассмотрели методы редактирования управляемых форм, в частности, построение форм списков на основе произвольных запросов.