Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

В режиме «1С:Предприятие»




600


1С: Предприятие 8. 3. Практическое пособие разработчика


 

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

// Перебрать группировку по регистратору.

ВыборкаПоРегистратору = Запрос. Выполнить(). Выбрать(ОбходРезультатаЗапроса. ПоГруппировкам); Пока ВыборкаПоРегистратору. Следующий() Цикл

Регистратор = ВыборкаПоРегистратору. ОбъектПерерасчета;

// Перебрать группировку по сотрудникам для выбранного регистратора

// и создать список сотрудников.

ВыборкаПоСотрудникам = ВыборкаПоРегистратору. Выбрать(); СписокСотрудников. Очистить();

Пока ВыборкаПоСотрудникам. Следующий() Цикл СписокСотрудников. Добавить(ВыборкаПоСотрудникам. Сотрудник);

КонецЦикла;

// Получить набор записей регистра расчета для выбранного регистратора. НаборЗаписей = РегистрыРасчета. Начисления. СоздатьНаборЗаписей(); НаборЗаписей. Отбор. Регистратор. Значение = Регистратор; НаборЗаписей. Прочитать();

РассчитатьНачисления(НаборЗаписей, ТребуемыйВидРасчета, СписокСотрудников); НаборЗаписей. Записать(, Истина);

// Очистить перерассчитанные записи в перерасчете. НаборЗаписейПерерасчета =

РегистрыРасчета. Начисления. Перерасчеты. Перерасчет. СоздатьНаборЗаписей(); НаборЗаписейПерерасчета. Отбор. ОбъектПерерасчета. Значение = Регистратор; НаборЗаписейПерерасчета. Записать();

КонецЦикла;

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

В самом начале процедуры мы запросом выбираем данные о записях перерасчетов, содержащие переданный вид расчета и сгруппиро- ванные по объекту перерасчета.

Далее при обходе результата запроса мы формируем для каждого объекта перерасчета список сотрудников, читаем соответствующие записи регистра расчета и вызываем процедуру РассчитатьНачис- ления(), которая использовалась нами при расчете записей документа НачисленияСотрудникам.

После того как расчет записей выполнен, мы записываем набор записей без формирования записей перерасчета и очищаем записи перерасчета по тому объекту перерасчета, который только что обра- ботали.

Вернемся в форму отчета НачислениеСотрудникам.


Итак, мы указали для команды Перерассчитать действие, то есть процедуру для ее выполнения. Но чтобы можно было воспользо- ваться этой командой, нужно создать в форме кнопку и связать ее с этой командой (в строке ИмяКоманды).

Проще всего это сделать перетаскиванием команды из окна Команды формы в окно элементов формы.

Перетащим мышью команду Перерассчитать в группу элементов формы ОсновнаяКоманднаяПанель.

При этом в форме появится кнопка Перерассчитать, а связь кнопки с командой будет установлена автоматически (рис. 18. 26).

 

 

В режиме «1С: Предприятие»

Запустим «1С: Предприятие» и проверим, как выполняется пере- расчет записей регистра расчета.

Отменим проведение всех документов Начисления сотрудникам

и проведем документ Начисления сотрудникам № 1 и затем № 2. Сформируем отчет Начисления сотрудникам (рис. 18. 27).

Теперь откроем документ Начисления сотрудникам № 1, изменим оклад Гусакова на 10 000 и проведем документ.

В отчете Начисления сотрудникам нажмем кнопку Перерассчитать.


 

Рис. 18. 27. Отчет «Начисления сотрудникам»

 

Будет выполнен перерасчет начисления премии Гусакову и Деловому (рис. 18. 28).

 

 

Чтобы увидеть в отчете актуальные данные, нажмем кнопку Сформи- ровать.

Результат работы отчета будет содержать новые значения премии Гусакова (рис. 18. 29).

 


И, наконец, проведем документ Начисления сотрудникам № 3

и нажмем Перерассчитать в отчете Начисления сотрудникам.

Снова будет произведен перерасчет оклада и премии Гусакова (рис. 18. 30).

 

 

Затем нажмем кнопку Сформировать. Данные отчета будут содержать актуальные значения начисления оклада и премии (рис. 18. 31).

 

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...