Задание 8-1
Добавьте в структуру документа Поступление товара реквизиты Склад (подсказка Склад, на который оприходован товар), Товар, Количество, Цена (подсказка Цена за единицу товара без НДС), Сумма, СтавкаНДС, СуммаНДС, ВсегоСНДС с типом данных согласно заданию на проектирование. Переходим на закладку Движения, в свойстве «Оперативное проведение» указываем значение Запретить, открываем дерево регистров накопления, щелчком мыши устанавливаем флажок в строке ЗапасыТоваров, т.е. указываем системе, что данный документ выполняет движения в регистре накопления Запасы товаров (рис.8-4). Рис. 8-4. Выбор регистра, в котором документ производит движения Нажатием на кнопку «Конструктор движений» переходим в режим формирования правил проведения документа в регистре Запасы товаров. Переключатель типа движения регистра оставляем в положении Приход (значение по умолчанию). Выделяем курсором поле ввода выражения для измерения регистра Склад и двойным щелчком на реквизите документа Склад указываем, что выражением является значение этого реквизита. Аналогично заполняем остальные поля (рис.8-5). Рис. 8-5. Выбор регистра, в котором документ производит движения Для формирования кода процедуры проведения нажимаем кнопку «ОК». На экране показывается программный код по формированию записей о движениях в регистре Запасы товаров, который создал конструктор движений (рис.8-6). Рис. 8-6. Программный код процедуры проведения Прокомментируем код процедуры обработки проведения. Процедура состоит из последовательности команд, которые будут выполнены системой при проведении документа. Все они связаны с выполнением движения в регистре накопления Запасы товаров. Первая команда (Движение = Движения.ЗапасыТоваров.Добавить()) инициализирует необходимость добавления в регистр накопления Запасы товаров новой записи. Записи в регистре накопления могут увеличивать (Приход) или уменьшать (Расход) значение ресурса. Вторая команда (Движение.ВидДвижения = ВидДвижения.Накопления.Приход) определяет, что новая запись в регистре будет увеличивать значение ресурса. Следующие пять команд определяют значения соответствующих полей регистра. Для автоматического заполнения полей «Стоимость», «Сумма НДС» и «Всего с НДС» переходим на закладку Формы и приступаем к созданию формы документа с помощью конструктора формы (рис.8-7). Рис. 8-7. Создание формы документа В форму документа включаем все реквизиты, которые по умолчанию предлагает система, и нажимаем на кнопку «Готово» (рис.8-8). Рис. 8-8. Реквизиты, включаемые в форму документа В результате на экран будет выведена форма документа Поступление товара. Далее выполняем следующие действия (рис.8-9): 1) Щелчком на поле формы с именем Количество открываем Панель свойств этого поля; 2) Прокруткой списка свойств находим раздел События (которые могут быть связаны с этим полем), а среди них событие ПриИзменении (возникает после изменения значения поля ввода) и щелкаем на кнопке с лупой в конце поля ввода; 3) Система создает заготовку процедуры обработчика этого события в модуле формы. В тело процедуры необходимо вручную добавить код для автоматического подсчета значения поля «Сумма», а также поля «Всего с НДС». Поскольку сумма подсчитывается как произведение количества на цену, то эту процедуру указываем в свойстве ПриИзменении для поля формы Цена (рис.8-10). Рис. 8-9. Форма документа Поступление товара В результате будет создана форма документа Поступление товара. представленная на рис.8-9. Рис. 8-10. Назначение процедуры обработчика события для поля Цена
|