АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Если ВыборкаРезультата.НайтиСледующий(СтруктураНомер) Тогда

Читайте также:
  1. БУДУЩЕЕ – ВАМ НУЖНО БОЛЬШЕ ОБЩАТЬСЯ, И ТОГДА, ВОЗМОЖНО, СИТУАЦИЯ ИЗМЕНИТСЯ.
  2. ВНИМАНИЕ: данный расчет доступен только тогда, когда в окне “Суммы и сроки” есть сумма доплаты или удержания.
  3. Глава пятая: Произносящий свидетельство только тогда получает неприкосновенность жизни и имущества, когда полностью покидает ширк и куфр.
  4. Глава третья: Суждение о двуличии человека дается даже в том случае когда человек не осознает своего двуличия а также и тогда, когда не имеет намерения совершать двуличие.
  5. Если ВыборкаРезультата.НайтиСледующий(СтруктураНомер) Тогда
  6. И тогда финансовый эффект от программы минимален или вообще отсутствует.
  7. Которого глас тогда поколебал землю, и Который ныне дал такое обещание: ещё раз поколеблю не только землю, но и небо.
  8. Можно попробовать ускорить освоение, положив в миски еду и позвав котенка (кис-кис-кис). Возможно, он подбежит. Или попробовать выманить его игрушкой. Тогда дело пойдет быстрее.
  9. Они скажут: «Аллах». Скажи: «Неужели вы (тогда) не побоитесь?»
  10. Положительный ряд сходится тогда и только тогда, когда последовательность его частичных сумм ограничена.
  11. ТД: (грустным голосом) сиди тогда в комнате... я лишь хочу, чтобы ты была счастлива.(уходит)

Если ВыборкаРезультата.Норма = 0 тогда

Сообщить("Вид расчета: Оклад – Нет рабочих дней в заданном периоде",);

ЗаписьРегистра.Результат = 0;

Иначе

// Рассчитать оклад по фактическому периоду и исходным данным

ЗаписьРегистра.Результат = (ЗаписьРегистра.ИсходныеДанные /ВыборкаРезультата.Норма) * ВыборкаРезультата.Факт;

Сообщить("Выполнен расчет" + ЗаписьРегистра.Регистратор + " - "

+ ЗаписьРегистра.ВидРасчета + " – " + ЗаписьРегистра.Сотрудник,);

КонецЕсли;

КонецЕсли;

КонецЦикла;

 

// Рассчитать вторичные записи

ИначеЕсли ТребуемыйВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Премия

Тогда

КонецЕсли;

 

КонецПроцедуры

Для каждой записи из набора записей регистра расчета выбирается номер строки и по этому номеру ищется соответствующая запись в выборке из результата запроса. Если в результате запроса есть запись с таким номером строки, рассчитывается результат записи регистра расчета.

Добавьте текст запроса во вторую ветку условия Если … с той лишь разницей, что теперь будут формироваться значения базы, используя виртуальную таблицу регистра расчета РегистрРасчета.Начисления.БазаНачисления:

// Рассчитать вторичные записи

ИначеЕсли ТребуемыйВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Премия Тогда

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| НачисленияБазаНачисления.РезультатБаза КАК База,

| НачисленияБазаНачисления.НомерСтроки КАК НомерСтроки

|ИЗ

| РегистрРасчета.Начисления.БазаНачисления(

| &ИзмеренияОсновного,

| &ИзмеренияБазового,,

| Регистратор = &Регистратор И

| ВидРасчета = &ВидРасчета И

| Сотрудник В (&СписокСотрудников)) КАК НачисленияБазаНачисления";

Измер = Новый Массив(1);

Измер[0] = "Сотрудник";

Запрос.УстановитьПараметр("ИзмеренияОсновного", Измер);

Запрос.УстановитьПараметр("ИзмеренияБазового", Измер);

Запрос.УстановитьПараметр("Регистратор", Регистратор);

Запрос.УстановитьПараметр("ВидРасчета", ТребуемыйВидРасчета);

Запрос.УстановитьПараметр("СписокСотрудников", СписокСотрудников);

ВыборкаРезультата = Запрос.Выполнить().Выбрать();

КонецЕсли;

КонецПроцедуры

В заключение осталось добавить во второе условие Если … обход набора записей регистра расчета и вычисление результата вторичных записей:

// Рассчитать вторичные записи

ИначеЕсли ТребуемыйВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Премия Тогда

....

ВыборкаРезультата = Запрос.Выполнить().Выбрать();


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)