Ок. Давайте в ближайшее время (постараюсь сделать в понедельник) я выложу решение билета 5, посмотрите мои запросы. Кратно изложу свои мысли:
-Если исходить из того, что могут быть разные расчетные периоды в одном документе, то период регистрации будет в табличной части. Есть некоторые сложности с запросом. Оклад на начало месяца буду считать соединением с реальной таблицей, чтобы сразу получить оклад на разные периоды по списку сотрудников.
-Премию буду считать и заносить в документе начисление зарплаты, когда добавляю записи. Сумму продаж буду получать из виртуальных таблиц регистра продажи, без цикла в запросе, по каждому сотруднику и периоду. Потом умножать на процент из табличной части, получать сумму премии и заносить её при добавлении записей. Посмотрел билет внимательно, увидел, что сумма продаж есть в регистре бухгалтерии. То есть буду брать сумму продаж по подразделению не из оборотного регистра накопления, а из существующего регистра бухгалтерии (добавлю только разрез по подразделению).
...
Однако, по своим наблюдениям с экзамена, то всё это можно не делать. Я сам видел решения, когда при занесении данных в регистр вообще нет никаких запросов, все данные копируются из табличных частей. И такие решения принимаются экзаменаторами. (Исключение составляет задача, где нужно оклад меняется неоднократно за месяц и нужно подсчитать оклад с учетом всех изменений. Тогда приходится уже писать большой запрос и срезу последних и к физическим записям регистра сведений, далее объединять интервалы. Но это один билет ). Если будете не успевать решать расчетную задачу, чтобы не мучатся с запросами, я предлагаю (на основании опыта сдачи некоторых знакомых) такой путь решения:
Например, с окладом. В табличную часть добавить поле - оклад. Для усложнения период регистрации пусть будет в табличной части. Поле "оклад" в табличной части будет заполняться при добавлении сотрудника в отдельной процедуре, в которой уже будет вызов запроса с получением среза последних, чтобы найти оклад. Чисто формально условие будет соблюдено, ведь нигде не написано прямо, что так делать нельзя и должно считаться автоматически. Вы просто избавитесь от запроса и сложностей его написания.
Таким же образом можно и решить проблему получения оборотов по регистру накопления премия. Тут будет засада для неподготволенных людей, если будет запрос в цикле - минус баллы, если будет подсчет оборотов по физической табилце - тоже минус балл. Здесь нужен динамически формировать текст запроса, что может быть сложным.
Нужно сделать отдельную табличную часть - дополнительные начисления, список сотрудников, подразделение, месяц регистрации, процент премии(если вводится в докумнете) и сумму продаж. Сумма продаж будет вычислять при добавлении строки (или изменении данных строки - сотрудника, подразделения или периода регистрации), сразу оборот за период, простой запрос. То есть сумма продаж считается только для текущей данной строки в табличной части. А потом сразу считаться премия при проведении документа при добавлении записей в регистр расчета и всё. Никаких сложных запросов.
Предлагаю сделать Вам так на экзамене. Некоторые сдают так и эти решения принимают. (Я пойду на пересдачу в будущую пятницу, посмотрим как сдам, отпишусь что и как).
Надеюсь, понятно изложил свои мысли? Если есть вопросы, спрашивайте. Посмотрите, пример на диске к сборнику задач. Там оклад на начало месяца тоже получается, как я описал. Без запроса, при выборе сотрудника.
Это моё мнение, на истину, конечно, не претендую.