Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1 С Предприятие (варианты сам работы).doc
Скачиваний:
10
Добавлен:
01.05.2025
Размер:
1 Мб
Скачать
☆

Методы документов

Рассмотрим некоторые методы документов, которые наиболее часто используются в модулях форм и отчетов.

ВыбратьСтроки() – открывает выборку строк многострочной части документа.

ПолучитьСтроку() – получает из выборки следующую строку табличной части документа. Метод возвращает число 1, если следующая строка выбрана успешно и число 0, если следующая строка документа не найдена.

НоваяСтрока() – позволяет добавить новую строку с очередным порядковым номером в многострочную часть документа.

УдалитьСтроку() – удаляет текущую строку из многострочной части документа.

КоличествоСтрок() – возвращает числовое значение – количество строк в документе.

УстановитьРеквизитСправочника(<элемент справочника>, <имя реквизита>, <значение>, <дата установки>, <имя типа>, <длина>, <точность> – записывает новое значение периодического реквизита справочника с привязкой к документу.

Пример:

ВыбратьСтроки();

Пока ПолучитьСтроку()=1 Цикл

УстановитьРеквизитСправочника(Товар, "Цена", НоваяЦена);

КонецЦикла;

Пример демонстрирует часть процедуры ОбработкаПроведения документа Изменение цен (рис. 25). Методы ВыбратьСтроки и ПолучитьСтроку позволяют осуществить выборку строк табличной части документа. Для каждой табличной строки документа выполняются действия, связанные с параметрами метода УстановитьРеквизитСправочника:

  • поиск элемента справочника Номенклатура, соответствующего значению реквизита документа Товар (тип – Справочник.Номенклатура);

  • в найденном элементе справочника значение реквизита Цена заменяется значением реквизита НоваяЦена из текущей строки документа.

Рис. 25. Форма документа Изменение цен товара

Итог(<ИмяРеквизита>) – возвращает итоговое значение реквизита табличной части документа.

Параметр <ИмяРеквизита> – строковое выражение, содержащее имя реквизита табличной части документа, для которого в конфигураторе установлено свойство Итог по колонке.

Модуль формы документа

Модуль формы документа может содержать процедуры, которые позволяют автоматизировать ввод данных в поля документа, при этом используется следующий алгоритм:

  • создается процедура с произвольным именем;

  • в процедуре используется оператор присваивания, левая часть которого соответствует имени реквизита документа, ввод значения которого необходимо автоматизировать;

  • в правой части оператора присваивания используется вычислительная формула или функция;

  • имя процедуры вводится в поле Формула на вкладке Дополнительно окна свойств реквизита документа, который необходимо связать с процедурой (рис. 26).

Рис. 26. Процедура Процент() выполняется после ввода значения в поле Сумма

Автоматизировать ввод значения реквизита документа можно, используя соответствующее значение реквизита справочника. Например, если в документе реквизит имеет тип Справочник, то в процедуре модуля формы правая часть оператора присваивания в общем виде будет выглядеть следующим образом:

ИмяРеквизитаДок-та.ИмяРеквизитаСправ-ка.ИмяМетода

Автоматический ввод значения реквизита документа рассмотрим на примере задачи Склад, в которой создан справочник Номенклатура. В документе Приходная накладная присутствует реквизит Товар (тип Справочник. Номенклатура). Для автоматического ввода значения цены выбранного товара в модуле формы документа в соответствующей процедуре используется следующий оператор присваивания:

Цена = Товар.Цена

Если реквизит справочника периодический (значение реквизита привязывается к дате изменения значения), то дополнительно используется метод Получить(ДатаДок), который позволяет получить значение цены на дату документа.

Цена = Товар.ЦенаП.Получить(ДатаДок)