## Требования к результату

Конфигурация с именем "УправлениеИТФирмой" из диплома блока А, дополненная:

В существующей подсистеме Настройки:

* Перечислением **ТипыНоменклатуры** (Товар, Услуга)

* Перечислением **СтавкиНДС** (БезНДС, НДС10, НДС20)

* Справочником **НоменклатурныеГруппы**
   * Без иерархии, с наименованием разумной длины

* Справочником **Номенклатура**, который:
   * Имеет наименование разумной длины и неограниченную иерархию групп и элементов
   * Содержит реквизиты Тип, СтавкаНДС и НоменклатурнаяГруппа, используемые для элементов и обязательные к заполнению

* Документом **УстановкаЦен**, который:
   * Содержит реквизит шапки Ответственный и табличную часть Цены с реквизитами Номенклатура и Цена
   * Имеет форму, в которой реализованы:
      * Выбор и подбор номенклатуры с автоматическим назначением цен согласно срезу последних регистра сведений Цены
   * Формирует движения по регистру сведений **Цены**
   
* Регистром сведений **Цены**, который:
   * Содержит измерение Номенклатура и ресурс Цена
   * Является периодическим с подчинением регистратору (документу **УстановкаЦен**)

* Документом **УстановкаСкидок**, который:
   * Содержит реквизит шапки Ответственный и табличную часть Скидки с реквизитами НоменклатураНоменклатурнаяГруппа и Скидка
   * Имеет форму, в которой реализованы:
      * Выбор номенклатуры и номенклатурных групп с автоматическим назначением скидок согласно срезу последних регистра сведений Скидки
   * Формирует движения по регистру сведений **Скидки**
   
* Регистром сведений **Скидки**, который:
   * Содержит измерение НоменклатураНоменклатурнаяГруппа и ресурс Скидка
   * Является периодическим с подчинением регистратору (документу **УстановкаСкидок**)
   
* Журналом документов **ЦеныИСкидки**, который:
   * Содержит документы **УстановкаЦен** и **УстановкаСкидок** и графу Ответственный

Подсистемой **Сделки**, а в ней:

* Документом **ПоступлениеТоваровИУслуг**, который:
   * Содержит реквизиты шапки Поставщик, Ответственный, Сумма и табличную часть ТоварыИУслуги с реквизитами Номенклатура, Количество, Цена, Сумма, СтавкаНДС, СуммаНДС
   * Имеет форму, в которой реализован выбор и подбор номенклатуры с автоматическим пересчетом числовых колонок по правилам:
      * При изменении реквизитов Количество и Цена пересчитывается Сумма и СуммаНДС (см. ниже "Правила расчета НДС")
      * При изменении реквизита Сумма пересчитывается Цена и СуммаНДС
      * При изменении реквизита СтавкаНДС пересчитывается СуммаНДС
   * Перед записью заполняет реквизит шапки Сумма итогом по одноименной колонке табличной части
   * Формирует движения:
      * Расход по регистру накопления **ВзаиморасчетыСКонтрагентами** с указанием поставщика в сумме общего итога по реквизиту ТЧ Сумма
      * Приход по регистру накопления **Товары** в разрезе номенклатуры типа Товар согласно реквизитам ТЧ Количество и Сумма
      * Движения по регистру накопления **Расходы** в разрезе номенклатуры типа Услуга согласно реквизиту ТЧ Сумма

* Документом **РеализацияТоваровИУслуг**, который:
   * Содержит реквизит шапки Покупатель, Ответственный, Сумма и табличную часть ТоварыИУслуги с реквизитами Номенклатура, Количество, Скидка, Цена, Сумма, СтавкаНДС, СуммаНДС
   * Имеет форму, в которой реализован выбор и подбор номенклатуры с автоматическим назначением цены и скидки, а также пересчетом числовых колонок по правилам:
      * При изменении реквизитов Количество и Цена пересчитывается Сумма (с учетом скидки) и СуммаНДС (см. ниже "Правила расчета НДС")
      * При изменении реквизита Скидка пересчитывается Сумма и СуммаНДС (см. ниже "Применение скидок")
      * При изменении реквизита Сумма пересчитывается СуммаНДС
      * При изменении реквизита СтавкаНДС пересчитывается СуммаНДС
   * Перед записью заполняет реквизит шапки Сумма итогом по одноименной колонке табличной части
   * Формирует движения:
      * Приход по регистру накопления **ВзаиморасчетыСКонтрагентами** с указанием покупателя в сумме общего итога по реквизиту ТЧ Сумма
      * Расход по регистру накопления **Товары** в разрезе номенклатуры типа Товар согласно реквизиту ТЧ Количество и сумме, определенной согласно средней стоимости остатков этого товара. В отсутствие достаточного остатка проведение не выполняется.
      * Движения по регистру накопления **Расходы** в разрезе номенклатуры типа Товар в сумме себестоимости продаж (сумме расхода по регистру Товары)
      * Движения по регистру накопления **Доходы** в разрезе номенклатуры всех типов согласно реквизиту ТЧ Сумма
      
* Журналом документов **Сделки**, который:
   * Содержит документы **ПоступлениеТоваровИУслуг** и **РеализацияТоваровИУслуг** с графами Контрагент, Ответственный и Сумма

Подсистемой **Деньги**, а в ней:

* Документом **ПоступлениеДенежныхСредств**, который:
  * Содержит реквизиты Плательщик и Сумма
  * Формирует движение: расход по регистру накопления **ВзаиморасчетыСКонтрагентами** с указанием плательщика и суммы

* Документом **СписаниеДенежныхСредств**, который:
  * Содержит реквизиты Получатель и Сумма
  * Формирует движение: приход по регистру накопления **ВзаиморасчетыСКонтрагентами** с указанием получателя и суммы
  
* Журналом документов **Деньги**, который:
   * Содержит документы **ПоступлениеДенежныхСредств** и **СписаниеДенежныхСредств** с графами Контрагент, Ответственный и Сумма

* Регистром накопления **ВзаиморасчетыСКонтрагентами**, который:
  * Имеет вид Остатки
  * Содержит измерение Контрагент и ресурс Сумма
  * Подчинен регистраторам **ПоступлениеТоваровИУслуг**, **РеализацияТоваровИУслуг**, **ПоступлениеДенежныхСредств**, **РасходованиеДенежныхСредств**
  * Положительные остатки по нему означают дебиторскую задолженность (нам должны), отрицательные - кредиторскую (мы должны)
      
* Регистром накопления **Товары**, который:
  * Имеет вид Остатки
  * Содержит измерение Номенклатура и ресурсы Количество, Сумма
  * Подчинен регистраторам **ПоступлениеТоваровИУслуг** и **РеализацияТоваровИУслуг**
  * Хранит текущие остатки товаров и их себестоимость с учетом НДС
  
* Регистром накопления **Доходы**, который:
  * Имеет вид Обороты
  * Содержит измерение Номенклатура и ресурсы Количество, Сумма
  * Подчинен регистратору **РеализацияТоваровИУслуг**
  * Хранит доходы (выручку) от реализации товаров и услуг с учетом НДС
  
* Регистром накопления **Расходы**, который:
  * Имеет вид Обороты
  * Содержит измерение Номенклатура и ресурсы Количество, Сумма
  * Подчинен регистраторам **ПоступлениеТоваровИУслуг**, **РеализацияТоваровИУслуг**
  * Хранит расходы по приобретенным услугам и себестоимость реализованных товаров с учетом НДС
  
* Отчетом **ДоходыИРасходы**, который:
  * Выводит, соединяя, данные регистров **Доходы** и **Расходы** в три колонки ("Доходы", "Расходы", "Прибыль")
  * Содержит группировку по номенклатуре с учетом иерархии и общие итоги
  
* Отчетом **ДвижениеТоваров**, который:
  * Выводит данные регистра **Товары**: остатки и обороты по количеству и сумме
  * Содержит группировку по номенклатуре с учетом иерархии и общие итоги
  * Не суммирует количества в общем итоге и по иерархии номенклатуры
  
* Отчетом **ВзаиморасчетыСКонтрагентами**, который:
  * Выводит данные регистра **ВзаиморасчетыСКонтрагентами**: остатки и обороты
  * Содержит группировку по контрагентам и общие итоги
  
Ценообразование должно быть доступно только роли **ПолныеПрава**.

### Применение скидок

Скидки определяются по срезу последних регистра сведений Скидки. Если скидка установлена и на конкретный элемент справочника **Номенклатура**, и на номенклатурную группу, приоритет имеет скидка для конкретного элемента.

Цена определяется по данным регистра сведений Цены и не пересчитывается при изменении скидки. Сумма определяется по цене с учетом скидки как:
   Сумма = Количество * Цена * (100 - Скидка) / 100
При изменении суммы изменяется скидка, но не цена, по обратной формуле:
   Скидка = 100 * (1 - Сумма / Количество / Цена)

### Правила расчета НДС

НДС рассчитывается по ставкам, определяемым по значению перечисления **СтавкиНДС** (БезНДС - 0%, НДС10 - 10%, НДС20 - 20%). Сумма НДС определяется умножением суммы на ставку (т.е. НДС рассчитывается по схеме "в том числе", например, для ставки 20% и суммы 120 р сумма НДС будет равна 120 * 0.2 / (1 + 0.2) = 20.