- •Корпоративные информационные системы
- •Введение
- •Кис 1с: Предприятие 7.7
- •Компонентная структура
- •Понятие конфигурации системы
- •Объекты метаданных компоненты “Оперативный учет”
- •Типы данных
- •Пользовательский интерфейс
- •Набор прав пользователя
- •Справочники
- •Свойства объектов и реквизитов
- •Форма объекта метаданных
- •Формы справочника
- •Элементы управления справочников
- •Документы
- •Форма документа
- •Определение свойств реквизитов документа
- •Модули документа
- •Журналы документов
- •Проведение документов
- •Регистры
- •Создание отчета
- •Запросы
- •Элементы встроенного языка 1с: Предприятие Понятие программного модуля (пм)
- •Виды модулей
- •Формат программного модуля
- •Структура программного модуля
- •Объявление переменных
- •Управляющие операторы Условный оператор
- •Оператор цикла Для
- •Оператор цикла Пока
- •Агрегатные типы данных
- •Позиционирование объекта на нужном элементе данных
- •Методы справочников
- •Методы документов
- •Модуль формы документа
- •Модуль документа
- •Создание модуля отчета
- •Создание запросов
- •Операторы языка запросов
- •Методы запросов
- •Создание таблиц значений в модулях
- •Методы таблиц
- •Варианты заданий для самостоятельной работы
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Вариант 15
- •Вариант 16
- •Оглавление
- •Библиографический список
- •Корпоративные информационные системы
- •620002, Екатеринбург, Мира, 19
- •620002, Екатеринбург, Мира, 19
Методы документов
Рассмотрим некоторые методы документов, которые наиболее часто используются в модулях форм и отчетов.
ВыбратьСтроки() – открывает выборку строк многострочной части документа.
ПолучитьСтроку() – получает из выборки следующую строку табличной части документа. Метод возвращает число 1, если следующая строка выбрана успешно и число 0, если следующая строка документа не найдена.
НоваяСтрока() – позволяет добавить новую строку с очередным порядковым номером в многострочную часть документа.
УдалитьСтроку() – удаляет текущую строку из многострочной части документа.
КоличествоСтрок() – возвращает числовое значение – количество строк в документе.
УстановитьРеквизитСправочника(<элемент справочника>, <имя реквизита>, <значение>, <дата установки>, <имя типа>, <длина>, <точность> – записывает новое значение периодического реквизита справочника с привязкой к документу.
Пример:
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
УстановитьРеквизитСправочника(Товар, "Цена", НоваяЦена);
КонецЦикла;
Пример демонстрирует часть процедуры ОбработкаПроведения документа Изменение цен (рис. 25). Методы ВыбратьСтроки и ПолучитьСтроку позволяют осуществить выборку строк табличной части документа. Для каждой табличной строки документа выполняются действия, связанные с параметрами метода УстановитьРеквизитСправочника:
поиск элемента справочника Номенклатура, соответствующего значению реквизита документа Товар (тип – Справочник.Номенклатура);
в найденном элементе справочника значение реквизита Цена заменяется значением реквизита НоваяЦена из текущей строки документа.
Рис. 25. Форма документа Изменение цен товара
Итог(<ИмяРеквизита>) – возвращает итоговое значение реквизита табличной части документа.
Параметр <ИмяРеквизита> – строковое выражение, содержащее имя реквизита табличной части документа, для которого в конфигураторе установлено свойство Итог по колонке.
Модуль формы документа
Модуль формы документа может содержать процедуры, которые позволяют автоматизировать ввод данных в поля документа, при этом используется следующий алгоритм:
создается процедура с произвольным именем;
в процедуре используется оператор присваивания, левая часть которого соответствует имени реквизита документа, ввод значения которого необходимо автоматизировать;
в правой части оператора присваивания используется вычислительная формула или функция;
имя процедуры вводится в поле Формула на вкладке Дополнительно окна свойств реквизита документа, который необходимо связать с процедурой (рис. 26).
Рис. 26. Процедура Процент() выполняется после ввода значения в поле Сумма
Автоматизировать ввод значения реквизита документа можно, используя соответствующее значение реквизита справочника. Например, если в документе реквизит имеет тип Справочник, то в процедуре модуля формы правая часть оператора присваивания в общем виде будет выглядеть следующим образом:
ИмяРеквизитаДок-та.ИмяРеквизитаСправ-ка.ИмяМетода
Автоматический ввод значения реквизита документа рассмотрим на примере задачи Склад, в которой создан справочник Номенклатура. В документе Приходная накладная присутствует реквизит Товар (тип Справочник. Номенклатура). Для автоматического ввода значения цены выбранного товара в модуле формы документа в соответствующей процедуре используется следующий оператор присваивания:
Цена = Товар.Цена
Если реквизит справочника периодический (значение реквизита привязывается к дате изменения значения), то дополнительно используется метод Получить(ДатаДок), который позволяет получить значение цены на дату документа.
Цена = Товар.ЦенаП.Получить(ДатаДок)
