Автор Тема: Задача 3.22  (Прочитано 18548 раз)

0 Пользователей и 1 Гость просматривают эту тему.

magrib

  • Новичок
  • *
  • Сообщений: 1
  • ФИО: Максим
Задача 3.22
« Ответ #30 : Июль 03, 2012, 06:41:38 pm »
Quote (SAV_tlt)
- ФиксОклад -> база(ФиксОклад), // обязательно не должно быть ведущих! дабы не получить замкнутый цикл в перерасчетах
 ---результат = параметр - база;


 SAV_tlt - не понятно для чего фиксированному окладу ставить в базовые начисления его же ,
 ну и странная формула для расчета результата.

SAV_tlt

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Антон
Задача 3.22
« Ответ #31 : Июль 04, 2012, 12:24:49 pm »
Из условий:
Quote
в том же расчетном периоде размер суммы может быть признан ошибочным и подлежит исправлению.

 Вот например, сделали один документ с начислениями, оклад 20 000, потом оказалось что нужно исправить оклад, делаем другой документ, чтобы зафиксировать факт ошибки, а не исправлять в том же документе и не пере проводить тот документ, там в параметре ставим нужный оклад например 18000 нажимаем расчет(вот тут то и нужно узнать базу) и в результат попадает -2000. Потом еще можно один документ делать например на 22000 нужно исправить, в результат попадет 4000. Вот только если пере проводить (перерасчитывая) первый документ, то нужно и остальные в хронологической порядке...
 Ну в общем, я так понимаю это условие.
« Последнее редактирование: Июль 04, 2012, 12:26:53 pm от Антон »


andrew-ko

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Андрей
Задача 3.22
« Ответ #32 : Ноябрь 06, 2012, 11:27:13 pm »
1. Оклад фикс. суммой - осн. нач. для расчета нормы дней.
 2. Сверхурочные - осн. нач. по тому же графику что и Оклад, но в параметре "Размер" - указываю количество часов сверху, ДатаНачала - ДатаОкончания - период действия (дни сверхуорчных).
 3. Премия процентом - доп. нач., база по периоду регистрации (ПВР) (т.к. "В" периоде).
 4. Удержания - ПВР удержания с базой по периоду действия (т.к. "ЗА" период)

 Поправьте, пожалуйста, если не прав.
Вложения:
3.22_andrew-ko.dt
« Последнее редактирование: Ноябрь 06, 2012, 11:34:08 pm от Андрей »

@cool@

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Иванов Иван Иваныч
Задача 3.22
« Ответ #33 : Ноябрь 08, 2012, 07:52:39 pm »
Доброго времени суток. Не могу решить как расчитывать (или накапливать) эти сверхурочные часы. Есть варианты:
 1) Вводить вручную в качестве параметра для соответствующегоВР в до-ке Нача.Зарпл.
 2) Вводить через документ типа табеля фактически отработанные (или уже сверхурочные ) для каждого дня и накапливать в РН (оборотном) хотя про табель в задаче не говорится..наоборот надо методом отклонения
 3) Для ВР "Надбавка" создать график почасовой с ресурсами "Норма"-восем записей с знач "1" (если 8 часовой день) остальные "0" и "Переработка" все 24 записи (для одного дня) с значением "1" и указанием интервалов в до-ке Нач.Зарп. отсчитывать факт отработанные часы.. можно для этого ВР отдельный РР с периодичность день чтобы вытащить норму часов как НормаПериодДействия и факт как ПереработкаФактическийПериодДействия
 Ну и зависимость от базы от Оклада с него БазаНачислено(деньги) и БазаРабочиеЧасы - для этого Оклад имеет ПД и работает по обычному графику "одна запись на день" периодичность РР месяц... (типа вырыване гландов через опу...)
 кто что думает по этому поводу в ЗУПе по моему переработку вводят вруную в спец. док.

NigaStoleMyPlane

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Anton
Задача 3.22
« Ответ #34 : Июнь 13, 2013, 04:31:06 pm »
Приветствую!
 Мое решение... не работает одна вещь - Виды расчета из ПВР "Удержания" (ПрофсоюзныеВзносы)  не попадают в таблицу перерасчетов. В чем мб дело...
Вложения:
3-22--.dt

89161008397

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Дмитрий
Задача 3.22
« Ответ #35 : Август 01, 2013, 08:07:33 am »
Всем привет!
 Помогите!!!!!!!!!!!!! с задачей, не могу понять почему в таблицу перерасчета не попадают записи (отчет Перерасчет).
 Есть два документа. Если провожу документ за первый месяц должна заполнятся таблица перерасчета. Что не так скажите.
Вложения:
3-22.dt

TuMyP1985

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Тимур
Задача 3.22
« Ответ #36 : Сентябрь 06, 2013, 01:01:09 am »
Цитата (89161008397)
Всем привет! Помогите!!!!!!!!!!!!! с задачей, не могу понять почему в таблицу перерасчета не попадают записи (отчет Перерасчет).
Не попадают, потому что при проведении документа не заполняются базовый период начало, базовый период конец у ПВР Дополнительные начисления и Удержания.

 Мой вариант.
Вложения:
KTT_3_22.dt

TuMyP1985

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Тимур
Задача 3.22
« Ответ #37 : Сентябрь 09, 2013, 12:54:02 am »
Скорректировал решение - использование подразделение в РС ГрафикиРаботы (вместо реквизита графики в справочнике подразделения).
Вложения:
1450382.dt

artfa

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Артур
Задача 3.22
« Ответ #38 : Сентябрь 19, 2013, 10:58:44 pm »
в задаче множество неочевидных сложностей
Вложения:
7370708.dt

fimanich

  • Пользователь
  • **
  • Сообщений: 49
Задача 3.22
« Ответ #39 : Ноябрь 03, 2013, 05:00:44 pm »
Цитата artfa ()
в задаче множество неочевидных сложностей
есть и очевидные smile . Например, у тебя опечатка
 Для Каждого ТекСтрокаДополнительныеНачисления Из ДополнительныеНачисления Цикл
         Должность = РегистрыСведений.СведенияОСотрудниках.ПолучитьПоследнее(НачалоМесяца(ПериодРегистрации),Новый Структура("Подразделение", ТекСтрокаОсновныеНачисления.Подразделение)).Должность;

 Цикл по доп. начислениям, а Подразделение из основных начислений берешь, если ТЧ Основные начисления пустая - вылет с синтаксической ошибкой.

 Однако больше хотелось бы другое обсудить. Насколько я понял, в процедуре РасчитатьНачисления ты в конце программно создаешь перерасчеты. Скорее всего, это делается, для того, чтобы предусмотреть следующую ситуацию: есть документ за январь, есть премия и профвзнос за февраль. Перепроводим документ за январь. В перерасчет попадет премия, но не попадет профвзнос, т.к. база его в феврале.
 В своем решении я, чтобы подобную ситуацию разрешить, в случае перерасчета при записи набора РР параметр ТолькоЗапись устанавливаю в Ложь. То есть предполагаю, что в обработке надо будет несколько раз нажать кнопки Заполнить - Перерасчитать: сначала в перерасчет попадет документ с премией, потом - с профвзносом.

 Еще один момент:
 в твоем решении в случае перерасчета идет внутренее соединение виртуальной таблицы (например, ДанныеГрафика) с таблицей перерасчета. Однако, более эффективно, на мой взгляд, в случае перерасчета ограничение передавать в параметры виртуальной таблицы.

 Прикрепляю свое решение. Критика приветствуется.
Вложения:
fimanich_03_22.dt

artfa

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Артур
Задача 3.22
« Ответ #40 : Ноябрь 04, 2013, 05:03:53 pm »
1. спасибо исправил.
 2. ты правильно понял.
 3. я так делал когда вид расчета завит от самого себя, например премия начисляется от всех начислений (в т.ч. и премии) за предыдущий период, только я еще избавил пользователя от необходимости нажимать кнопку Заполнить, Заполнить отрабатывало сразу после перерасчета.
 4. не понял о чем речь.
Вложения:
2890031.dt

fimanich

  • Пользователь
  • **
  • Сообщений: 49
Задача 3.22
« Ответ #41 : Ноябрь 04, 2013, 06:29:58 pm »
Цитата artfa ()
4. не понял о чем речь.
Поясню на примере (примеры из 2-х разных задач 3.17 и 3.22, т.е. это не один и тот же запрос в 2-х вариантах).
 1-й вариант: соединение с таблицей перерасчета:
 ВЫБРАТЬ
 ДанныеГрафика.НомерСтроки,
 ЕСТЬNULL(ДанныеГрафика.ЗначениеФактическийПериодДействия, 0) КАК ДнейФакт,
 ДанныеГрафика.ВидРасчета.СпособРасчета КАК СпособРасчета
 ИЗ
 РегистрРасчета.ОсновныеНачисления.ДанныеГрафика(
 Регистратор = &Регистратор
 И ВидРасчета.СпособРасчета В (&Оклад, &Невыход)) КАК ДанныеГрафика
 ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисления.ПерерасчетОН КАК ПерерасчетОН
 ПО ДанныеГрафика.Подразделение = ПерерасчетОН.Подразделение
 И ДанныеГрафика.Сотрудник = ПерерасчетОН.Сотрудник
 И    ДанныеГрафика.Регистратор = ПерерасчетОН.Регистратор

 2-й вариант: отбор по таблице перерасчета в параметрах виртуальной таблицы.
 ВЫБРАТЬ
 ПерерасчетОН.Подразделение,
 ПерерасчетОН.Сотрудник
 ПОМЕСТИТЬ Перерасчет
 ИЗ
 РегистрРасчета.ОсновныеНачисления.ПерерасчетОН КАК ПерерасчетОН
 ГДЕ
 ПерерасчетОН.ОбъектПерерасчета = &Регистратор
 И ПерерасчетОН.ВидРасчета = &Сверхурочные
 ;
 ////////////////////////////////////////////
 ВЫБРАТЬ
 ДанныеГрафика.НомерСтроки,
 ЕСТЬNULL(ДанныеГрафика.ЗначениеБазовыйПериод, 0) КАК ЧасовБаза,
 ЕСТЬNULL(БазаОН.РезультатБаза, 0) + ЕСТЬNULL(БазаДН.РезультатБаза, 0) КАК РезультатБаза
 ИЗ
 РегистрРасчета.ОсновныеНачисления.ДанныеГрафика(
 ВидРасчета = &Сверхурочные
 И Регистратор = &Регистратор
 И (Подразделение, Сотрудник) В
 (ВЫБРАТЬ
 Перерасчет.Подразделение,
 Перерасчет.Сотрудник
 ИЗ
 Перерасчет КАК Перерасчет)

 ) КАК ДанныеГрафика
 ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисления.БазаОсновныеНачисления(
 &Измерения,
 &Измерения,
 ,
 ВидРасчета = &Сверхурочные
 И Регистратор = &Регистратор
 И (Подразделение, Сотрудник) В
 (ВЫБРАТЬ
 Перерасчет.Подразделение,
 Перерасчет.Сотрудник
 ИЗ
 Перерасчет КАК Перерасчет)

 ) КАК БазаОН
 ПО ДанныеГрафика.НомерСтроки = БазаОН.НомерСтроки
 ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисления.БазаДополнительныеНачисления(
 &Измерения,
 &Измерения,
 ,
 ВидРасчета = &Сверхурочные
 И Регистратор = &Регистратор
 И (Подразделение, Сотрудник) В
 (ВЫБРАТЬ
 Перерасчет.Подразделение,
 Перерасчет.Сотрудник
 ИЗ
 Перерасчет КАК Перерасчет)

 ) КАК БазаДН
 ПО ДанныеГрафика.НомерСтроки = БазаДН.НомерСтроки

 2-й вариант вроде как более правильный, т.к. отбор по параметрам виртуальной таблицы, но конечно же, более громоздкий.
« Последнее редактирование: Ноябрь 04, 2013, 06:37:26 pm от Смирнов Валерий »

artfa

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Артур
Задача 3.22
« Ответ #42 : Ноябрь 04, 2013, 08:39:20 pm »
нужно проверить производительность обоих вариантов,
 но я думаю сдесь выигрыш в скорости будет незначительный, да и создавать такой запрос более проблематично, слишко много будет условий Если Перерасчет Тогда...

Alexander

  • Пользователь
  • **
  • Сообщений: 33
  • ФИО: Kulikov Alexander
Задача 3.22
« Ответ #43 : Декабрь 08, 2013, 03:21:19 pm »
К сожалению, не достаточно быстро пишется всё ещё.
 А так, спасибо fimanich, ну и всем остальным, включая давно покинувших эту ветку.
 Жду не дождусь критики.
Вложения:
Kul_3_22_122_21.dt
« Последнее редактирование: Декабрь 08, 2013, 03:22:08 pm от Kulikov Alexander »

IT_PROGRAMMIST

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Дмитрий
Задача 3.22
« Ответ #44 : Февраль 16, 2014, 07:16:22 pm »
мой вариант решения. Благодарен за критику
Вложения:
IT_PROGR_22.dt