Создание документа «Оказание услуги»

Теперь мы аналогичным образом создадим второй документ, необходимый нам, – Оказание услуги. Для этого потребуется выполнить следующие действия:

На закладке Основные определим, как будет представлен документ в интерфейсе «1С:Предприятия». Представление объекта задавать не будем, вместо него будет использоваться Синоним объекта.

Представление списка зададим как Оказание услуг. На закладке Подсистемы отметим, что документ будет доступен в подсистемах Оказание услуг и Бухгалтерия. На закладке Данные создадим реквизиты документа:

q создать новый объект конфигурации Документ ОказаниеУслуги с реквизитами:

Склад, тип СправочникСсылка.Склады, Выберем для свойства Значение заполнения предопределенный элемент Основной справочника Склады;

Клиент, тип СправочникСсылка.Клиенты, Установим свойство Проверка заполнения в значение Выдавать ошибку;

Мастер, тип СправочникСсылка.Сотрудники, Установим свойство Проверка заполнения в значение Выдавать ошибку;

q создать табличную часть этого документа ПереченьНоменклатуры с реквизитами:

§ Номенклатура, тип СправочникСсылка.Номенклатура,

§ Количество, тип Число, длина 15, точность 3, неотрицательное,

§ Цена, тип Число, длина 15, точность 2, неотрицательное,

§ Сумма, тип Число, длина 15, точность 2, неотрицательное,

q Установим для табличной части в целом и для каждого ее реквизита свойство Проверка заполнения в значение Выдавать ошибку.

q создать основную форму документа,

q

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

При этом откроется модуль формы с шаблоном обработчика события ПереченьНоменклатурыКоличествоПриИзменении, который мы пока заполнять не будем, а перейдем в окно элементов формы на закладку Форма и аналогичным образом создадим обработчик события ПереченьНоменклатурыЦенаПриИзменении для поля ПереченьНоменклатурыЦена.

Далее модуль формы документа ОказаниеУслуги нужно заполнить следующим образом (листинг 4.5).

&НаКлиенте

Процедура ПереченьНоменклатурыКоличествоПриИзменении(Элемент) СтрокаТабличнойЧасти = Элементы.ПереченьНоменклатуры.ТекущиеДанные; РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти);

КонецПроцедуры

&НаКлиенте

Процедура ПереченьНоменклатурыЦенаПриИзменении(Элемент)

СтрокаТабличнойЧасти = Элементы.ПереченьНоменклатуры.ТекущиеДанные;

РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти);

КонецПроцедуры

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

Для этого откроем окно редактирования объекта конфигурации Подсистема ОказаниеУслуг и нажмем кнопку Командный интерфейс. В открывшемся окне отразятся все команды данной подсистемы.

В группе Панель действий. Создать включим видимость у команды Оказание услуги: создать (рис. 4.26).

В результате документ ОказаниеУслуги будет выглядеть следующим образом (рис. 3.11):

Рис. 3.11. Документ «ОказаниеУслуги»

После того, как эти действия будут выполнены, запустим 1С:Предприятие в режиме отладки и убедимся, что при вводе цены и количества в табличную часть документа ОказаниеУслуги сумма пересчитывается по нашему алгоритму.

Обратите внимание, что склад Основной подставляется по умолчанию, а для полей Мастер и Клиент выполняется проверка заполнения. А также при вводе цены и количества в табличную часть документа Оказание услуги сумма пересчитывается по нашему алгоритму.

Наши рекомендации