
- •5.Что такое предопределенные элементы
- •6.Какие основные формы существуют у справочника
- •7.Когда следует использовать редактирование справочника в списке, а когда – в диалоге
- •12.Какие существуют основные формы документа
- •13.Для чего предназначен объект конфигурации Регистр накопления
- •14.Для чего нужны измерения регистра, ресурсы и реквизиты
- •15.Что такое движения регистра и что такое регистратор
- •16.Как средствами встроенного языка обойти табличную часть документа и обратиться к ее данным
- •17.Как средствами встроенного языка сформировать и записать движения документа в регистр накопления
- •18.Как создать новый регистр накопления и описать его структуру
- •19.Как создать движения документа с помощью конструктора движений
- •20.Для чего предназначен объект конфигурации Отчет
- •21.Для чего предназначен объект конфигурации Макет
- •22.Как изменить табличный документ
- •23.Какая разница в заполнении ячейки табличного документа текстом, параметром и шаблоном
- •24.Как с помощью встроенного языка вывести в табличный документ новую область
- •25.Как изменить внешний вид и поведение элемента управления, расположенного в форме
- •26.Как отобразить сумму по колонке табличного поля
- •33.Как получить значения ресурсов наиболее поздних записей регистра средствами встроенного языка
- •34.Для чего предназначен объект конфигурации Перечисление
- •35.Как обратиться к значению перечисления средствами встроенного языка
- •36.Для чего используется сервер вызов сервера?
- •37.Как с помощью конструктора создать движения документа по нескольким регистрам
- •38.Что такое оборотный регистр накопления?
- •39.Для чего предназначен объект встроенного языка Запрос
- •40.Что является источником данных запроса
- •41.В чем отличие между реальными, виртуальными и ссылочными таблицами
- •42.Из каких частей состоит текст запроса, какие из них являются обязательными
- •43.Каковы основные синтаксические конструкции языка запросов
- •44.Как использовать конструктор запроса
- •45.Что такое псевдонимы в языке запросов
- •46.Что такое параметры запроса
- •47.Что такое параметры виртуальной таблицы
- •48.Что такое левое соединение
- •49.Как упорядочить данные в отчете
- •50.Как использовать в отчете данные нескольких таблиц
- •51.Как использовать группировки в структуре отчета
- •52.Как вывести в отчет иерархические данные
- •53.Как управлять выводом итогов по группировкам и общих итогов
- •54.Как создать отчет, содержащий диаграмму
- •55.Как использовать параметры в системе компоновки данных
- •56.Как дополнить данные отчета всеми датами в группировке по периоду
33.Как получить значения ресурсов наиболее поздних записей регистра средствами встроенного языка
Найдем в конфигураторе документ ОказаниеУслуги и откроем его форму ФормаДокумента. Откроем свойства поля ввода, расположенного в колонке Номенклатура, и внизу списка найдем событие При изменении. Нажмем на кнопку с лупой и в открывшейся заготовке обработчика события напишем следующий текст (листинг 1.2):
Листинг 1.2. Процедура ПереченьНоменклатурыНоменклатураПриИзменении()
// Получить текущую строку табличной части
СтрокаТабличнойЧасти = ЭлементыФормы.ПереченьНоменклатуры.ТекущиеДанные;
// Установить цену
СтрокаТабличнойЧасти.Цена = РаботаСоСправочниками.РозничнаяЦена(Дата,Элемент.Значение);
// Пересчитать сумму строки
РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти);
Прокомментируем содержимое обработчика.
Первая строка обработчика вам уже знакома: мы получаем текущую строку табличной части документа, так как она нам понадобится в дальнейшем.
Во второй мы устанавливаем полученную цену в документе, вызывая нашу процедуру РозничнаяЦена. Первым параметром мы передаем дату документа, на которую необходимо получить цену. Вторым параметром мы передаем ссылку, которую отображает элемент управления формой, вызвавший это событие (Элемент.Значение), то есть ссылку на элемент справочника Номенклатура.
В заключение мы вызываем нашу процедуру РассчитатьСумму из общего модуля РаботаСДокументами, чтобы она пересчитала итоговую сумму в строке нашего документа.
34.Для чего предназначен объект конфигурации Перечисление
Объект конфигурации Перечисление является прикладным и предназначен для описания структуры хранения постоянных наборов значений, не изменяемых в процессе работы конфигурации. На основе объекта конфигурации Перечисление платформа создает в базе данных информационную структуру, в которой может храниться набор некоторых постоянных значений.
35.Как обратиться к значению перечисления средствами встроенного языка
Скорректируем движения документа, исключив из обработки те строки табличной части, в которых находятся услуги. Для этого в обработчик события ОбработкаПроведения, расположенный в модуле документа ОказаниеУслуги, добавим следующий текст (текст следует добавить в начало цикла обхода табличной части документа после строки Для Каждого ТекСтрокаПереченьНоменклатуры Из ПереченьНоменклатуры Цикл (листинг 2.1)):
Листинг 2.1. Движения документа «ОказаниеУслуги»
Если ТекСтрокаПереченьНоменклатуры.Номенклатура.ВидНоменклатуры <> Перечисления.ВидыНоменклатуры.Материал Тогда
Продолжить;
КонецЕсли;
Добавленный текст исключает из выполнения операторов цикла те строки документа, в которых номенклатура не является материалом. К значению перечисления Материал мы обращаемся, используя менеджер перечисления ВидыНоменклатуры (Перечисления.ВидыНоменклатуры)и указывая в качестве его свойства имя нужного нам значения перечисления.
36.Для чего используется сервер вызов сервера?
Мы видим, что у модуля по умолчанию установлен флажок Сервер. Это означает, что экземпляры этого модуля будут скомпилированы только на стороне сервера.
Установим флажок Вызов сервера для того чтобы экспортные функции этого модуля можно было вызывать с клиента.