Билет 02

Билет_02 ОУ2 БУ2 СПР2

ОУ: Списание по средней по выборке по номенклатуре и партии. В отчете добавляется периодичность по Регистратору. Минимум по ПродажиОборот.период — ДатаПервойОтгрузки, Максимум — ДатаПоследнейОтгрузки, количество — КоличествоОтгрузок. Интервал, Срок, Прибыль — вычисляемые поля.

БУ: Виды субконто на счете Товары: Номенклатура, Склад. На Счете ПрибылиУбытки: Номенклатура, проект.
Документ Затраты добавляет себестоимость на счете ПрибылиУбытки по Проекту без Номенклатуры.
В отчете группировка Товар — Только Иерархия, Ресурсы Количество, Себестоимость, СуммаПродажи — по группировке Товар, Затраты — по группировке Проект.

СПР:Правильный запрос для формирования записей регистра ОсновныеНачисления

ВЫБРАТЬ
НачислениеЗарплатыОсновныеНачисления.НомерСтроки КАК НомерСтроки,
НачислениеЗарплатыОсновныеНачисления.Сотрудник КАК Сотрудник,
НачислениеЗарплатыОсновныеНачисления.Подразделение КАК Подразделение,
НАЧАЛОПЕРИОДА(НачислениеЗарплатыОсновныеНачисления.Ссылка.Дата, МЕСЯЦ) КАК ПериодРегистрации,
НачислениеЗарплатыОсновныеНачисления.ДатаНачала КАК ДатаНачала,
НачислениеЗарплатыОсновныеНачисления.ДатаОкончания КАК ДатаОкончания,
НачислениеЗарплатыОсновныеНачисления.Размер КАК Размер,
НачислениеЗарплатыОсновныеНачисления.ВидРасчета КАК ВидРасчета
ПОМЕСТИТЬ втДок
ИЗ
Документ.НачислениеЗарплаты.ОсновныеНачисления КАК НачислениеЗарплатыОсновныеНачисления
ГДЕ
НачислениеЗарплатыОсновныеНачисления.Ссылка = &Ссылка
И НачислениеЗарплатыОсновныеНачисления.ВидРасчета В(&ВидыРасчета)

ИНДЕКСИРОВАТЬ ПО
Сотрудник,
ДатаНачала,
ДатаОкончания
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
втДок.НомерСтроки КАК НомерСтроки,
втДок.Сотрудник КАК Сотрудник,
втДок.Подразделение КАК Подразделение,
втДок.ПериодРегистрации КАК ПериодРегистрации,
втДок.ДатаНачала КАК ДатаНачалаИзДокумента,
СведенияОСотрудниках.Период КАК Период,
втДок.ДатаНачала КАК ДатаНачала,
втДок.ДатаОкончания КАК ДатаОкончания,
ЕСТЬNULL(СведенияОСотрудниках.Оклад, 0) КАК Оклад,
втДок.ВидРасчета КАК ВидРасчета,
втДок.Размер КАК Размер
ПОМЕСТИТЬ втИзмененияОкладов
ИЗ
втДок КАК втДок
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОСотрудниках КАК СведенияОСотрудниках
ПО втДок.Сотрудник = СведенияОСотрудниках.Сотрудник
ГДЕ
СведенияОСотрудниках.Период <= втДок.ДатаОкончания
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
втИзмененияОкладов.Период КАК Период,
втИзмененияОкладов.НомерСтроки КАК НомерСтроки
ПОМЕСТИТЬ втСрезы
ИЗ
втИзмененияОкладов КАК втИзмененияОкладов
ГДЕ
втИзмененияОкладов.Период <= втИзмененияОкладов.ДатаНачалаИзДокумента
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
втИзмененияОкладов.Сотрудник.Представление КАК СотрудникПредставление,
втИзмененияОкладов.ДатаНачалаИзДокумента КАК ДатаНачалаИзДокумента
ИЗ
втИзмененияОкладов КАК втИзмененияОкладов
ГДЕ
НЕ втИзмененияОкладов.НомерСтроки В
(ВЫБРАТЬ
втСрезы.НомерСтроки КАК НомерСтроки
ИЗ
втСрезы КАК втСрезы)

СГРУППИРОВАТЬ ПО
втИзмененияОкладов.Сотрудник.Представление,
втИзмененияОкладов.ДатаНачалаИзДокумента
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
втИзмененияОкладов.Сотрудник КАК Сотрудник,
втИзмененияОкладов.Подразделение КАК Подразделение,
втИзмененияОкладов.ПериодРегистрации КАК ПериодРегистрации,
втИзмененияОкладов.ДатаНачала КАК ДатаНачала,
втИзмененияОкладов.ДатаОкончания КАК ДатаОкончания,
втИзмененияОкладов.Оклад КАК Оклад,
втИзмененияОкладов.НомерСтроки КАК НомерСтроки,
втИзмененияОкладов.ВидРасчета КАК ВидРасчета,
втИзмененияОкладов.Размер КАК Размер
ИЗ
втИзмененияОкладов КАК втИзмененияОкладов
ВНУТРЕННЕЕ СОЕДИНЕНИЕ втСрезы КАК втСрезы
ПО втИзмененияОкладов.НомерСтроки = втСрезы.НомерСтроки
И втИзмененияОкладов.Период = втСрезы.Период

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
втИзмененияОкладов.Сотрудник,
втИзмененияОкладов.Подразделение,
втИзмененияОкладов.ПериодРегистрации,
втИзмененияОкладов.Период,
втИзмененияОкладов.ДатаОкончания,
втИзмененияОкладов.Оклад,
втИзмененияОкладов.НомерСтроки,
втИзмененияОкладов.ВидРасчета,
втИзмененияОкладов.Размер
ИЗ
втИзмененияОкладов КАК втИзмененияОкладов
ГДЕ
втИзмененияОкладов.Период > втИзмененияОкладов.ДатаНачала
И втИзмененияОкладов.Период <= втИзмененияОкладов.ДатаОкончания

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
втДок.Сотрудник,
втДок.Подразделение,
втДок.ПериодРегистрации,
втДок.ДатаНачала,
втДок.ДатаОкончания,
0,
втДок.НомерСтроки,
втДок.ВидРасчета,
втДок.Размер
ИЗ
втДок КАК втДок
ГДЕ
НЕ втДок.ВидРасчета В (&ВидыРасчета)
ИТОГИ ПО
НомерСтроки