# Задание к занятию «Табличные части» ## Задача 1. Документы «Поступление товаров и услуг» и «Реализация товаров и услуг» ### Описание задачи Учётные системы, как правило, содержат документы, регистрирующие факты закупки и продажи товаров и услуг. Задача — создать документы «Поступление товаров и услуг» и «Реализация товаров и услуг», отражающие закупку и продажу товаров и услуг, но пока не формирующие движения по остаткам и взаиморасчётам. ### Требования к результату Выгрузка информационной базы (.dt). Документы «Поступление товаров и услуг» и «Реализация товаров и услуг» должны иметь одинаковую структуру: реквизиты, состав форм и полей, внешний вид. Отличие только в названии документов и в формируемых ими движениях. Документ должен содержать следующие данные: * стандартные «Номер» и «Дата»; * «Контрагент»; * «Ответственный». При создании объекта заполняется по умолчанию сотрудником, соответствующим текущему пользователю; * «СуммаДокумента». Перед записью объекта заполняется итогом по колонке «Сумма» табличной части «Товары»; * «Комментарий». Поле ввода — многострочное; * ТЧ «Товары" с реквизитами «Номенклатура», «Количество», «Цена», «Сумма». Документы должны иметь свои формы объекта, выбора, списка. При создании нового документа дата должна заполняться текущей датой. Номер должен ставиться автоматически и быть уникальным, строковым. Все реквизиты должны присутствовать на форме и быть доступными для редактирования. Все реквизиты обязательны для заполнения кроме реквизита «СуммаДокумента» и «Комментарий». ### Процесс выполнения 1. Добавить документ «Поступление товаров и услуг» с реквизитами: * «Контрагент» (СправочникСсылка.Контрагенты); * «Ответственный» (СправочникСсылка.Сотрудники); * «Комментарий» (Строка неограниченной длины); * «СуммаДокумента» (определяемый тип Сумма). Номер и дата — стандартные реквизиты, их добавлять не нужно, достаточно сделать номер строковым. 2. Перетащить каждый реквизит на форму документа. В поле ввода «Комментарий» поставить флажок «МногострочныйРежим». 3. Все добавленные реквизиты добавить на форму выбора и списка в том же порядке: «Контрагент», «Ответственный», «Комментарий», номер и дату поставить слева — 1 и 2 колонка. 4. Добавить ТЧ «Товары» с реквизитами: * «Номенклатура» (СправочникСсылка.Номенклатура); * «Количество» (Число 10, 3); * «Цена» (определяемый тип Сумма); * «Сумма» (определяемый тип Сумма). 5. В модуле объекта документа добавить обработчик события «ПередЗаписью», в коде которого заполнить реквизит «СуммаДокумента» итогом по колонке «Сумма» табличной части «Товары»: ```bsl СуммаДокумента = Товары.Итог("Сумма"); ``` 6. На форме документа добавьте расчёт «Суммы» в строке табличной части. При изменении «Количества» или «Цены» значение в колонке «Сумма» должно пересчитываться перемножением «Количества» на «Цену». 7. Повторить всё для документа «Реализация товаров и услуг». 8. Создайте Журнал документов «Движения товаров», выведите в него оба документа. В качестве дополнительных граф выведите «Контрагент» и «СуммаДокумента». ## Задача 2. Расчёты в таблице товаров ### Описание задачи Добавить в документы из задачи 1 сортировку строк по сумме, а также расчёт общего итога по колонке «Сумма». ### Требования к результату Выгрузка информационной базы (.dt) с документами из задачи 1, в формах которых: * подсчитывается общий итог по колонке «Сумма»; * есть кнопка для сортировки строк табличной части по сумме — от меньшей суммы в строке к большей. ### Процесс выполнения 1. В форме документа «Поступление товаров и услуг»: * добавить в командную панель таблицы «Товары» команду сортировки строк, * добавить для колонки «Сумма» подсчёт общего итога в подвале. 2. Повторить для документа «Реализация товаров и услуг». ### Подсказка: [результат выполнения домашнего задания](Examples/homework-5-2-example.md).