1
0
mirror of https://github.com/netology-code/1c-homeworks.git synced 2024-11-24 08:02:20 +02:00
1c-homeworks/homework-5-2.md
2023-01-31 11:38:35 +03:00

81 lines
6.8 KiB
Markdown

# Задание к занятию «Табличные части»
## Задача 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).