Текущий остаток отпуска
17.10.2011
16:48
#1
"Доброго времени суток уважаемые форумчане! Прошу вас оказать мне помощь в решении следующей задачи. Необходимо создать внешний отчет, который бы выводил бы следующие данные по каждому работнику: ФИО, Дата приема на работу, Текущий остаток отпуска.
ФИО, Дата приема на работу я вывел, при помощи следующего кода:
Процедура Сформировать()
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать");
Таб.ВывестиСекцию("Шапка");
Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);
Сотрудник=СоздатьОбъект("Справочник.Сотрудники");
Сотрудник.ВыбратьЭлементы();
Пока Сотрудник.ПолучитьЭлемент()>0 Цикл
Если Сотрудник.ЭтоГруппа() = 0 Тогда
Таб.ВывестиСекцию("Строка_1");
КонецЕсли
КонецЦикла;
Таб.ТолькоПросмотр(1);
Таб.Показать;
КонецПроцедуры
Как мне посчитать текущий остаток отпуска (количество неиспользованных дней отпуска)? Какие данные использовать при этом? Я правильно понимаю, что текущий остаток отпуска - это 28 минус количество использованных дней отпуска? Как в таком случае получить количество использованных дней отпуска, где взять эти данные? Я правильно понимаю, что количество использованных дней отпуска - это ДатаОкончанияОтпуска1-ДатаНачалаОтпуска1+ ДатаОкончанияОтпуска2-ДатаНачалаОтпуска2+…?"
ФИО, Дата приема на работу я вывел, при помощи следующего кода:
Процедура Сформировать()
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать");
Таб.ВывестиСекцию("Шапка");
Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);
Сотрудник=СоздатьОбъект("Справочник.Сотрудники");
Сотрудник.ВыбратьЭлементы();
Пока Сотрудник.ПолучитьЭлемент()>0 Цикл
Если Сотрудник.ЭтоГруппа() = 0 Тогда
Таб.ВывестиСекцию("Строка_1");
КонецЕсли
КонецЦикла;
Таб.ТолькоПросмотр(1);
Таб.Показать;
КонецПроцедуры
Как мне посчитать текущий остаток отпуска (количество неиспользованных дней отпуска)? Какие данные использовать при этом? Я правильно понимаю, что текущий остаток отпуска - это 28 минус количество использованных дней отпуска? Как в таком случае получить количество использованных дней отпуска, где взять эти данные? Я правильно понимаю, что количество использованных дней отпуска - это ДатаОкончанияОтпуска1-ДатаНачалаОтпуска1+ ДатаОкончанияОтпуска2-ДатаНачалаОтпуска2+…?"
19.10.2011
10:53
#3
В готовом виде в базе такие данные не хранятся, чтобы просто взять их и на экране показать. Расчетным путем надо, опираясь на примерно такие правила:
1. право на 28 календарных дней отпуска сотрудник получает за полный календарный год
2. сотрудник имеет право "авансом" сходить в отпуск, причем если он работает на предприятии первый год, то воспользоваться таким правом может не ранее чем через полгода работы, а если речь идет о уже не первом годе работы, то в любой момент
3. по ст.121 ТК РФ при ситуациях когда сотрудник за календарный год брал отпуска за свой счет в накопительном количестве более 14 дней, это корректирует расчетный стаж, дающий право на отпуск
4. отпуска по уходу за ребенком тоже корректируют расчетный стаж, дающий право на отпуск
короче говоря, я делал эту штуку давно для комплексной конфигурации, пришпилю "как есть", играйтесь, в ней даже какие то комментарии писал, что за мной не часто наблюдается
1. право на 28 календарных дней отпуска сотрудник получает за полный календарный год
2. сотрудник имеет право "авансом" сходить в отпуск, причем если он работает на предприятии первый год, то воспользоваться таким правом может не ранее чем через полгода работы, а если речь идет о уже не первом годе работы, то в любой момент
3. по ст.121 ТК РФ при ситуациях когда сотрудник за календарный год брал отпуска за свой счет в накопительном количестве более 14 дней, это корректирует расчетный стаж, дающий право на отпуск
4. отпуска по уходу за ребенком тоже корректируют расчетный стаж, дающий право на отпуск
короче говоря, я делал эту штуку давно для комплексной конфигурации, пришпилю "как есть", играйтесь, в ней даже какие то комментарии писал, что за мной не часто наблюдается
19.10.2011
23:18
#4
"пишет ошибку:
ПечОДокументе=глПредставлениеДокумента<>(ТекДокумент);{HOLIDAYS.ERT(444)}: Функция не обнаружена (глПредставлениеДокумента) " Читают тему
(гостей: 1)