|
Запрос по фактическим отпускам в ЗУП при 2-х и более корректировках отпуска. | ☑ | ||
---|---|---|---|---|
0
RetZet
17.01.20
✎
12:24
|
Разбираюсь с фактическими отпусками. У сотрудника они не формируются, т.е. отсутствуют в отчете "Фактические отпуска".
Там есть такой запрос, он при инициализации отчета собирается, и выглядит так: [CODE] Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ФактическиеОтпускаСотрудниковОтбор.Сотрудник КАК Сотрудник, | ФактическиеОтпускаСотрудниковОтбор.НачалоПериода КАК НачалоПериода, | ФактическиеОтпускаСотрудниковОтбор.ОкончаниеПериода КАК ОкончаниеПериода |ПОМЕСТИТЬ ВТОтборСУчетомОстатков |ИЗ | ВТФактическиеОтпускаОтбор КАК ФактическиеОтпускаСотрудниковОтбор | |ИНДЕКСИРОВАТЬ ПО | Сотрудник |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ | ФактическиеОтпуска.Сотрудник КАК Сотрудник, | ФактическиеОтпуска.ВидЕжегодногоОтпуска КАК ВидЕжегодногоОтпуска, | ФактическиеОтпуска.ДатаНачала КАК ДатаНачала, | ФактическиеОтпуска.ДатаОкончания КАК ДатаОкончания, | ФактическиеОтпуска.Количество КАК Количество, | ФактическиеОтпуска.Компенсация КАК Компенсация, | ВЫБОР | КОГДА ФактическиеОтпуска.ВидЕжегодногоОтпуска.СпособРасчетаОтпуска = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОтпуска.ВРабочихДнях) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ВРабочихДнях, | ФактическиеОтпуска.РабочийПериодС КАК РабочийПериодС, | ФактическиеОтпуска.РабочийПериодПо КАК РабочийПериодПо, | ФактическиеОтпуска.Основание КАК Основание, | ФактическиеОтпуска.Регистратор КАК Регистратор |ПОМЕСТИТЬ ВТФактическиеОтпуска |ИЗ | РегистрНакопления.ФактическиеОтпуска КАК ФактическиеОтпуска | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТОтборСУчетомОстатков КАК ФактическиеОтпускаОтбор | ПО ФактическиеОтпуска.Сотрудник = ФактическиеОтпускаОтбор.Сотрудник | И ФактическиеОтпуска.ДатаОкончания >= ФактическиеОтпускаОтбор.НачалоПериода | И (ФактическиеОтпуска.ДатаНачала <= ФактическиеОтпускаОтбор.ОкончаниеПериода | ИЛИ ФактическиеОтпускаОтбор.ОкончаниеПериода = ДАТАВРЕМЯ(1, 1, 1)) | |ИНДЕКСИРОВАТЬ ПО | Сотрудник |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ФактическиеОтпуска.Сотрудник КАК Сотрудник, | ФактическиеОтпуска.ВидЕжегодногоОтпуска КАК ВидЕжегодногоОтпуска, | ФактическиеОтпуска.ДатаНачала КАК ДатаНачала, | ФактическиеОтпуска.ДатаОкончания КАК ДатаОкончания, | ФактическиеОтпуска.Количество КАК Количество, | ФактическиеОтпуска.Компенсация КАК Компенсация, | ФактическиеОтпуска.ВРабочихДнях КАК ВРабочихДнях, | ФактическиеОтпуска.РабочийПериодС КАК РабочийПериодС, | ФактическиеОтпуска.РабочийПериодПо КАК РабочийПериодПо, | ФактическиеОтпуска.Основание КАК Основание, | ФактическиеОтпуска.Регистратор КАК Регистратор, | ВЫБОР | КОГДА НЕ ФактическиеОтпускаСторно.Сотрудник ЕСТЬ NULL | И ФактическиеОтпуска.Количество > 0 | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК СторнируемаяЗапись, | ВЫБОР | КОГДА НЕ ФактическиеОтпускаСторно.Сотрудник ЕСТЬ NULL | И ФактическиеОтпуска.Количество < 0 | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК СторноЗапись |ПОМЕСТИТЬ ВТФактическиеОтпускаСоСторноПризнаками |ИЗ | ВТФактическиеОтпуска КАК ФактическиеОтпуска | ЛЕВОЕ СОЕДИНЕНИЕ ВТФактическиеОтпуска КАК ФактическиеОтпускаСторно | ПО ФактическиеОтпуска.Сотрудник = ФактическиеОтпускаСторно.Сотрудник | И ФактическиеОтпуска.ВидЕжегодногоОтпуска = ФактическиеОтпускаСторно.ВидЕжегодногоОтпуска | И ФактическиеОтпуска.ДатаНачала = ФактическиеОтпускаСторно.ДатаНачала | И ФактическиеОтпуска.ДатаОкончания = ФактическиеОтпускаСторно.ДатаОкончания | И (ФактическиеОтпуска.Количество = -ФактическиеОтпускаСторно.Количество) | И ФактическиеОтпуска.Регистратор <> ФактическиеОтпускаСторно.Регистратор | |ИНДЕКСИРОВАТЬ ПО | Сотрудник |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ФактическиеОтпуска.Сотрудник КАК Сотрудник, | ФактическиеОтпуска.ВидЕжегодногоОтпуска КАК ВидЕжегодногоОтпуска, | ФактическиеОтпуска.ДатаНачала КАК ДатаНачала, | ФактическиеОтпуска.ДатаОкончания КАК ДатаОкончания, | ФактическиеОтпуска.Количество КАК КоличествоДней, | ФактическиеОтпуска.Компенсация КАК ЭтоКомпенсация, | ФактическиеОтпуска.Регистратор КАК Регистратор, | ФактическиеОтпуска.ВРабочихДнях КАК ВРабочихДнях, | ФактическиеОтпуска.РабочийПериодС КАК РабочийПериодС, | ФактическиеОтпуска.РабочийПериодПо КАК РабочийПериодПо, | ФактическиеОтпуска.Основание КАК Основание |ПОМЕСТИТЬ ВТФактическиеОтпускаСотрудников |{ВЫБРАТЬ | Сотрудник.*, | ВидЕжегодногоОтпуска.*, | ДатаНачала, | ДатаОкончания, | КоличествоДней, | ЭтоКомпенсация, | Регистратор, | ВРабочихДнях, | РабочийПериодС, | РабочийПериодПо, | Основание} |ИЗ | ВТФактическиеОтпускаСоСторноПризнаками КАК ФактическиеОтпуска |ГДЕ | НЕ ФактическиеОтпуска.СторнируемаяЗапись | И НЕ ФактическиеОтпуска.СторноЗапись |{ГДЕ | ФактическиеОтпуска.Сотрудник.*, | ФактическиеОтпуска.ВидЕжегодногоОтпуска.*, | ФактическиеОтпуска.ДатаОкончания, | ФактическиеОтпуска.Количество, | ФактическиеОтпуска.Компенсация, | ФактическиеОтпуска.Регистратор, | ФактическиеОтпуска.РабочийПериодС, | ФактическиеОтпуска.РабочийПериодПо, | ФактическиеОтпуска.Основание} | |ИНДЕКСИРОВАТЬ ПО | Сотрудник"; [/CODE] Смысл таков запроса, как я понимаю, чтобы удалить сторно записи отпусков и взять правильные. ВТФактическиеОтпускаСоСторноПризнаками определяются сторнируемая это запись или она сама сторнирует другую И в результатирующей таблице [CODE] |ГДЕ | НЕ ФактическиеОтпуска.СторнируемаяЗапись | И НЕ ФактическиеОтпуска.СторноЗапись [/CODE] Они отсекаются. Все хорошо, пока на отпуск есть один документ исправление. А их у некоторых, по 2 штуки. Получилось так, что сперва исправили, и человек отгулял, потом в следующем году дали годовую премию, и все отпуска пересчитали, т.к. это требует законодательство. Средний заработок изменяется у человека, и надо пересчитывать. И вот при появлении 2 и более документа исправления, сторно записи по такому запросу, получаются все сторно! И в результате отчет "Фактические отпуска" выходит пустым! Кто с таким сталкивался? Как решали? |
|||
1
dka80
17.01.20
✎
13:04
|
Моделируй пример и шли на линию поддержки 1С
|
|||
2
RetZet
17.01.20
✎
13:15
|
(1) Это долгий процесс...
|
|||
3
dka80
17.01.20
✎
14:46
|
Если будет очень долго, то пиши на [email protected] - отдел контроля качества
|
|||
4
Масянька
17.01.20
✎
14:54
|
(3) Они могут повлиять на разработчиков?
|
|||
5
Gucci76
17.01.20
✎
17:12
|
(3) буду знать кому жаловаться на техподдержку ))))
А то месяц мне не отвечали на письмо с ошибкой в расчете НДФЛ |
|||
6
dka80
20.01.20
✎
09:43
|
(4) отдел контроля качества в ИТ компаниях - сильная штука. В данном случае, они могут повлиять не на разработчиков, а на скорость и адекватность ответа службы поддержки.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |