В режиме "Конфигуратор"
страницаВ режиме «Конфигуратор»
Добавим новый объект конфигурации Документ и назовем его ОказаниеУслуги.
На закладке Основные определим, как будет представлен документ в интерфейсе «1С:Предприятия».
Представление объекта задавать не будем, вместо него будет использоваться Синоним объекта.
Представление списка зададим как Оказание услуг. На закладке Подсистемы отметим, что документ будет доступен в подсистемах Оказание услуг и Бухгалтерия. На закладке Данные создадим реквизиты документа:
Склад, тип СправочникСсылка.Склады. Выберем для свойстваЗначение заполненияпредопределенный элементОсновнойсправочникаСклады;Клиент, тип СправочникСсылка.Клиенты. Установим свойствоПроверка заполненияв значениеВыдавать ошибку;Мастер, тип СправочникСсылка.Сотрудники. Установим свойствоПроверка заполненияв значениеВыдавать ошибку.
Создадим табличную часть этого документа ПереченьНоменклатуры с реквизитами:
Номенклатура, тип СправочникСсылка.Номенклатура;Количество, тип Число, длина15, точность3, неотрицательное;Цена, тип Число, длина15, точность2, неотрицательное,Сумма, тип Число, длина15, точность2, неотрицательное.
Установим для табличной части в целом и для каждого ее реквизита свойство Проверка заполнения в значение Выдавать ошибку.
На закладке Формы создадим основную форму документа.
Для поля ПереченьНоменклатурыКоличество создадим обработчик события ПриИзменении (выполняющийся на клиенте), в котором будем вызывать процедуру РассчитатьСумму из общего модуля РаботаСДокументами.
При этом откроется модуль формы с шаблоном обработчика события ПереченьНоменклатурыКоличествоПриИзменении, который мы пока заполнять не будем, а перейдем в окно элементов формы на закладку Форма и аналогичным образом создадим обработчик события ПереченьНоменклатурыЦенаПриИзменении для поля ПереченьНоменклатурыЦена.
Далее модуль формы документа ОказаниеУслуги нужно заполнить следующим образом (листинг 4.5).
Листинг 4.5. Модуль формы документа «ОказаниеУслуги»
&НаКлиенте
Процедура ПереченьНоменклатурыКоличествоПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.ПереченьНоменклатуры.ТекущиеДанные;
РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти);
КонецПроцедуры
&НаКлиенте
Процедура ПереченьНоменклатурыЦенаПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.ПереченьНоменклатуры.ТекущиеДанные;
РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти);
КонецПроцедуры
В заключение отредактируем командный интерфейс, чтобы в разделе Оказание услуг была доступна команда создания новых документов.
Для этого откроем окно редактирования объекта конфигурации Подсистема ОказаниеУслуг и нажмем кнопку Командный интерфейс. В открывшемся окне отразятся все команды данной подсистемы.
В группе Панель действий.Создать включим видимость у команды Оказание услуги: создать (рис. 4.26).

Рис. 4.26. Настройка командного интерфейса подсистемы
В результате наших действий в дереве объектов конфигурации документ ОказаниеУслуги будет выглядеть следующим образом (рис. 4.27).

Рис. 4.27. Документ «ОказаниеУслуги» в дереве объектов конфигурации