Справочник Сотрудники.

В группе объектов СПРАВОЧНИКИ нажимаем правой кнопкой мыши обращаемся к контекстному меню, где выбираем функцию ДОБАВИТЬ

Имя - Сотрудники

Подсистемы – ОказаниеУслуг, РасчетЗарплаты

Данные – длина кода 9 символов, длина наименования -50

Имя табличной части - ТрудоваяДеятельность

Реквизиты табличной части

Организация – тип Строка, длина 100

НачалоРаботы – тип Дата, состав даты – Дата

ОкончаниеРаботы – тип Дата, состав даты – Дата

Должность – тип Строка, длина 100

Отредактировать командный интерфейс

 

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

Запустить программу в режиме Конфигуратор.

Создать справочник Номенклатура

Имя – Номенклатура

Подсистемы – УчетМатериалов, ОказаниеУслуг, Бухгалтерия

Иерархия – Иерархический справочник

Данные - длина кода 9 символов, тип - Строка, длина наименования -100

Настроить интерфейс приложения - подсистема УчетМатериалов – Панель действий :Создать – Номенклатура создать установить флажок.

Справочник Склады.

Запустить программу в режиме Конфигуратор.

Создать справочник Склады

Имя – Склады

Подсистемы – УчетМатериалов, ОказаниеУслуг

Данные - длина кода 9 символов, тип – Строка

Формы – Быстрый выбор

Создание документа «Приходная накладная»

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

Перейти в режим Конфигурирования.

Создать новый объект конфигурации Документ.

Имя - ПриходнаяНакладная

Подсистемы – Бухгалтерия, УчетМатериалов

Данные - создать реквизит документа с именем Склад и типом СправочникСсылка.Склады.

Свойство –Значение заполнения выбрать Основной

Добавить табличную часть с именем Материалы,установить проверку заполнениявыдавать ошибкуи реквизитами:

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

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

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

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

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

На закладке НУМЕРАЦИЯ свойство –Автонумерация включено

Настроить интерфейс приложения - подсистема УчетМатериалов – Панель действий :Создать – включить видимость у команды Приходная накладная:создать.

 

Одна процедура для обработки нескольких событий.

 

Добавить объект конфигурации Общий модуль.

Имя – РаботаСДокументами

Клиент(управляемое приложение) – поставить флажок

Сервер – снять флажок

 

Внести в модуль следующий текст

 

Процедура РассчитатьСумму(СтрокаТабличнойЧасти)Экспорт

СтрокаТабличнойЧасти.Сумма=СтрокаТабличнойЧасти.Количество

*СтрокаТабличнойЧасти.Цена;

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

 

Прокомментируем этот код. В процедуру РассчитатьСумму() передаем переменную СтрокаТабличнойЧасти, которую мы определили в обработчике события ПриИзменении поля Количество. Она содержит данные редактируемой строки табличной части документа ПриходнаяНакладная.

Теперь, используя эту переменную, мы можем получить доступ к данным колонок табличной части и рассчитать сумму как произведение цены на количество. I

Ключевое слово Экспорт в заголовке процедуры указывает на то, что эта процедура может быть доступна из других программных модулей.

В модуле формы документа ПриходнаяНакладная внести изменения

 

Процедура МатериалыКоличествоПриИзменении(Элемент)

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

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

 

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

 

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

 

Создать обработчик события ПриИзменении для поля табличной части МатериалыЦена так же, как для поля МатериалыКоличество

 

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

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

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

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

 

 

Запустить программу в режиме отладки и убедиться, что сумма в строках табличной части документа ПриходнаяНакладная пересчитывается как при изменении количества, так и при изменении цены.

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

Запустить 1С:Предприятие в режиме конфигуратора.

Создать новый объект конфигурации Документ

Имя ОказаниеУслуг

Подсистемы – ОказаниеУслуг, Бухгалтерия

Данные -

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

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

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

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

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

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

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

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

На закладке Формы создать основную форму документа.

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

 

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

 

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

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

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

 

&НаКлиенте