МОДУЛЬ ФОРМИ СПИСКУ ЖУРНАЛУ ЗАРПЛАТИ

Містить процедури, керуючі елементами діалогу, що дозволяють вибирати ВР для введення в ЖЗ, виконати розрахунок зарплати і сформувати розрахункові листки та відомості перерахувань в банк Щоб новий сеанс роботи починався з того ж місця, де завершився колишній, в програмі зберігаються в зумовленою процедурі ПріЗакритіі і відновлюються в зумовленою процедурі прочинене відповідні параметри форми списку ЖЗ

7411 ПРОЦЕДУРИ, керуючі елементи ДІАЛОГУ

/ / КтоСтар значення елемента хто до встановлення значення закл = Про перем ктоСтар

перем нтп / / Початок поточного періоду

перем тДок / / Поточний документ

/ / Обєкт з різновидом типу СправочнікХозОпДляВР перем хозОп

процедура ПоЦехам () далі

/ / Процедура потрібна, щоб правильно реагувати на перемикання прапорця закл

процедура ЗначКтоСтар () ктоСтар = хто

КонецПроцедури / / ЗначКтоСтар

процедура ПріЗакритіі ()

//

Зумовлена ​​процедура

перем значОтбора

//

Поточне значення відбору при закл = 1

перем реж, значРеж / / Представлення: списком або по одному обєкту

/ / Зберігаємо на диску значення змінних діалогу закл, хто та інших установок

/ / Для наступного сеансу роботи СохранітьЗначеніе (ЗакладкіВЗарплате, закл) СохранітьЗначеніе (КтоВЗарплате, хто) СохранітьЗначеніе (ЗначеніеОтбора, ОбектРодітель)

/ / Подання: список або один співробітник

ПолучітьПредставленіе (реж, значРеж) СохранітьЗначеніе (РежімПредставленія, реж) СохранітьЗначеніе (ЗначеніеПредставленія, значРеж)

КонецПроцедури / / ПріЗакритіі

процедура відкриття () / / Зумовлена ​​процедура перем реж, значРеж

/ / Відновлюємо з диска значення змінних діалогу заклі хто

// для поточного сеансу роботи

закл = ВосстановітьЗначеніе (ЗакладкіВЗарплате)

якщо ТіпЗначенія (закл) = 0 тоді / / Якщо значення змінної заклне відновлене закл = 1

хто = 1

інакше

хто = ВосстановітьЗначеніе (КтоВЗарплате) КонецЕсли

ктоСтар = хто

ПоЦехам ()

якщо закл = 1 тоді

значОтбора = ВосстановітьЗначеніе (ЗначеніеОтбора) ЗакладкіОтбора (Батько, значОтбора)

КонецЕсли

реж = ВосстановітьЗначеніе (РежімПредставленія) значРеж = ВосстановітьЗначеніе (ЗначеніеПредставленія) якщо реж = 1 тоді

УстановітьПредставленіе (1)

інакше

УстановітьПредставленіе (реж, значРеж) КонецЕсли

нтп = НачалоТекущегоПеріода () КонецПроцедури / / прочинене

/ / Включає / відключає режим виведення по цехах Якщо закл = 0, то встановлює

// хто = 1 і робить недоступними радиокнопки групи Режим розрахунку процедура ПоЦехам ()

якщо закл = 1 тоді / / Якщо використовуються закладки відбору ЗакладкіОтбора (Батько)

хто = ктоСтар

ФормаКто Доступність (1) ФормаКто2Доступность (1)

інакше ЗакладкіОтбора (“) хто = 1

ФормаКтоДоступность (0)

ФормаКто2Доступность (0) КонецЕсли

КонецПроцедури / / ПоЦехам ()

7412 ВИБІР ВИДУ РОЗРАХУНКУ ДЛЯ ВВЕДЕННЯ В ЖУРНАЛ ЗАРПЛАТИ

Здійснюється з перерахування ВР_2 Введення початкового сальдо виконується процедурами модуля ЖЗ, а інших ВР відповідними документами

процедура НачСальдо () далі процедура ВводРасчета ()

перем значПер, прапор, докВід

значПер = ВР_2;

/ / Вид ВР вибирається з діалогу, представленого на рис 725

прапор = ВвестіПеречісленіе (значПер, Виберіть види розрахунків для введення)

/ / Якщо натиснули OK, Enter або двічі вдарили мишею по обраному значенням якщо прапор = 1 тоді

докВід = значПерІдентіфікатор ()

якщо докВід = НачСальдо тоді

НачСальдо () / / Введення початкового сальдо ЖЗ = 0

інакше / / Табель або Премія

/ / Розрахунки вводяться документом ОткритьФорму (Документ” + ДокВід)

КонецЕсли інакше

Попередження (Нічого не вибрано”) повернення

КонецЕсли КонецПроцедури / / ВводРасчета

Рис 725 Діалог для вибору виду документа

7413 Введення початкових САЛЬДО

Виконується, якщохто = 1, для вибраного в довіднику Сотруднікі_2 співробітника або для обраного підрозділу Якщо співробітник вже має у поточному розрахунковому періоді розрахунок у ВР НачСальдо_2, то при повторному введенні змінюється лише результат розрахунку

Вбрання підрозділ повертається методом модуля форми ЖР ПолучітьОтбор

процедура одінСотр (співр) далі функція ЕстьВЖЗ (співр) далі

/ / Заповнює ЖЗ розрахунками з ВР НачСадьдо_2 процедура НачСальдо ()

перем док, гроти, підр / /подр значення відбору перем сСотр_2, прапор

нтп = НачалоТекущегоПеріода ()

док = СоздатьОбект (ДокументНачПеріода_2) якщо докНайтіПоНомеру (1) = 0 тоді

Попередження (Не можна ввести початкове сальдо Немає документа НачПеріода_2 № 1) повернення

КонецЕсли

тДок = докТекущійДокумент ()

/ / Визначаємося щодо господарської операції для ВР НачСальдо_2 хозОп = СоздатьОбект (СправочнікХозОпДляВР)

/ / Шукаємо простим перебором в довіднику ХозОпДляВР вид розрахунку НачСальдо_2 хозОпВибратьЕлементи ()

прапор = 0

поки хозОпПолучітьЕлемент () = 1 цикл

якщо хозОпВР = ВідРасчетаНачСальдо_2 тоді прапор = 1

перервати КонецЕсли

конецЦікла / / Поки якщо прапор = 0 тоді

Попередження (Господарська операція для ВР Початкове сальдо не знайдено) повернення

КонецЕсли

/ / Початок місяця для одного співробітника Дозволимо множинні вибір якщо хто = 1 тоді

ОткритьПодбор (СправочнікСотруднікі_2, ФормаСпіска,, 1) іначеЕслі закл = 1 тоді / / Використовуємо закладки відбору

/ / При першому використанні ЖЗ закладки відбору в ньому не відображаються,

/ / Навіть якщо закл = 1 в цьому випадку початкове сальдо вводиться для всіх співробітників

ПолучітьОтбор (гроти, підр) / /подр значення відбору має тип Довідник сСотр_2 = СоздатьОбект (СправочнікСотруднікі_2) сСотр_2ИспользоватьРодителя (підр)

сСотр_2ВибратьЕлементи ()

поки сСотр_2ПолучітьЕлемент () = 1 цикл якщо сСотр_2ЕтоГруппа () = 0 тоді

/ / Введення початкового сальдо для одного співробітника одінСотр (сСотр_2ТекущійЕлемент ())

КонецЕсли конецЦікла / / Поки

УстановітьПредставленіе (1) / / Відображаємо записи по всіх обєктах

/ / Якщо в ЖЗ немає записів, тоді подр має пусте значення вводяться всі

/ / Співробітники і для відображення закладок відбору викликаємо процедуру ПоЦехам якщо ПустоеЗначеніе (підр) = 1 тоді

ПоЦехам () КонецЕсли ФормаОбновіть ()

КонецЕсли КонецПроцедури / / НачСальдо

процедура ОбработкаПодбора (співр, конт)

одінСотр (співр)

//

Початкове сальдо для одного співробітника

якщо закл = 0 тоді

закл = 1

//

Показуємо закладки відбору

ПоЦехам ()

КонецЕсли

УстановітьПредставленіе (2, співр) / / Відображаємо записи по одному обєкту КонецПроцедури / / ОбработкаПодбора

процедура одінСотр (співр)

/ / Якщо розрахунок з ВР НачСальдо_2 обєкт вже має, то оновлюємо тільки результат якщо ЕстьВЖЗ (співр) = 0 тоді

/ / Додаємо розрахунок з ВР НачСальдо_2 для обраного співробітника Нова ()

УстановітьРеквізіт (Документ, тДок) УстановітьРеквізіт (РодітельскійДокумент, тДок) УстановітьРеквізіт (Обєкт, співр) УстановітьРеквізіт (ВідРасч, ВідРасчетаНачСальдо_2) УстановітьРеквізіт (хрзОп, хозОпХозОП) УстановітьРеквізіт (ДатаНачала, нтп) УстановітьРеквізіт (ДатаОкончанія, нтп)

інакше / / Робимо розрахунок нефіксованим

/ / Журнал позиціонується функцією ЕстьВЖЗ на потрібній записи

/ / Підготовка до оновлення результату

ОсвободітьЗапісь () / / Робимо запис нефіксованим КонецЕсли

Записати () / / Не забуваємо записати нові значення реквізитів

/ / Звертаємося до зумовленої процедурі ПровестіРасчет ВР НачСальдо_2

/ / Метод ВиполнітьРасчет повинен бути розташований після виклику методу Записати ВиполнітьРасчет () / / Або Розрахувати ()

ФіксіроватьЗапісь () КонецПроцедури / / одінСотр

/ / Поверне 1, якщо початкове сальдо для вибраного обєкту вже введено,

/ / Або О-інакше функція ЕстьВЖЗ (співр)

якщо ВибратьПеріодПоОбекту (співр) = 1 тоді

поки ПолучітьЗапісь () = 1 цикл

якщо ВідРасч = ВідРасчетаНачСальдо_2 тоді повернення 1

КонецЕсли конецЦікла / / поки

КонецЕсли повернення 0

КонецФункции / / ЕстьВЖЗ

Зауваження:

1 Процедури РасчетЗП, ПечатьРЛ і ВедомостьБанк будуть розглянуті після завершення розробки програм введення в ЖЗ всіх ВР

2 У ЖЗ співробітники упорядковано так само, як і в довіднику-обєкті

5 Розрахунки не повинні вводитися для звільнених або ще не приступили до роботи співробітників, записи про які, однак, є в довіднику Сотруднікі_2 Проблема вирішується просто, якщо є відповідні накази з датами прийому та звільнення співробітника

4 Записи ЖЗ, в яких невірно визначені атрибути, наприклад в атрибут Документ занесено пусте значення типу Документ, супроводжуються в ЖЗ іконкою Такі записи з ЖЗ потрібно вилучити Інтерактивно це можна виконати, застосувавши

ланцюжок Дії Очистити журнал розрахунків

5 Вбудована процедура СохранітьЗначеніе записує на диск (у файл 1CV7CFG) задане другим параметром значення Вбудована функція ВосстановітьЗначеніе виконує зворотну дію Якщо відновлюється значення реквізиту форми типу СпісокЗначеній, то функція викликається як процедура, повертаючи результат в свій другий параметр, наприклад:

ВоостановітьЗначеніе (СпісокПодразделеній, сПодр)

Джерело: Бартеньев О В 1С: Підприємство: програмування для всіх Базові обєкти та розрахунки на одній дискеті М: Діалог-МІФІ, 2005 464 с

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*