![]() |
![]() |
![]() |
|
V8: Остаток дней отпуска в ЗУП | ☑ | ||
---|---|---|---|---|
0
Anton9843
01.10.12
✎
13:56
|
Немогу понять как написать в секцию нужную, кто может перенесите пожалуйста ...
Недавно начал заниматься ЗУП Конфигурация 2.5.56 Странный глюк если перейти на: рабочий стол - вкладка "Кадровый учет" - Остатки отпусков То у всех сотрудников остаток будет 0, причем видно что есть просчитанные остатки на даты, но "справка по отпуску" ничего не выдает, только что остаток 0. в принципе разобрался ОстаткиОтпусков.ОстаткиОтпусков(ТаблицаДанных) получает таблицу в которой поле "ОтборПоПорядкуРасчетаОтпуска" пустая ссылка а дальше в запросе идет типа фильтр по этому значению: ВЫБОР КОГДА ТаблицаДанных.ОтборПоПорядкуРасчетаОтпуска = ЗНАЧЕНИЕ(Перечисление.ПорядокРасчетаОтпуска.ПоКалендарнымДням) ТОГДА НачисленияОсновногоОтпуска.Ссылка = ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ОплатаПоСреднемуОтпКалендарныеДни) КОГДА ТаблицаДанных.ОтборПоПорядкуРасчетаОтпуска = ЗНАЧЕНИЕ(Перечисление.ПорядокРасчетаОтпуска.ПоШестидневке) ТОГДА НачисленияОсновногоОтпуска.Ссылка = ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ОплатаПоСреднемуОтпШестидневка) ИНАЧЕ ЛОЖЬ КОНЕЦ а значения поля всегда пустое значение, там выше по пути выполнения кода это видно. Если кому интересно то функция СправкаПоОтпускамСотрудника в томже модуле я на скорую руку дописал в начале функции ОстаткиОтпусков Функция ОстаткиОтпусков(ТаблицаДанных) Для Каждого СтрокаТаблицы Из ТаблицаДанных.НайтиСтроки(Новый Структура("ОтборПоПорядкуРасчетаОтпуска", Перечисления.ПорядокРасчетаОтпуска.ПустаяСсылка())) Цикл СтрокаТаблицы.ОтборПоПорядкуРасчетаОтпуска = Перечисления.ПорядокРасчетаОтпуска.ПоКалендарнымДням; КонецЦикла; Вопрос вот в чем, я в инете ненашел никакого упоминания об проблеме. Как так? что никто не считает дни отпуска в ЗУП? |
|||
1
Иоканаан
01.10.12
✎
15:56
|
(0)По-видимому, эта проблема есть в конфигурации 2.5.56 (как раз решил сегодня заняться обновлением). У меня 2.5.54.1 - и пока всё нормально.
|
|||
2
rasswet
01.10.12
✎
15:57
|
2.5.56 есть уже 2.5.56.2 там смотрел?
|
|||
3
almar
01.10.12
✎
16:00
|
(0) Какая у тебя Сервис - Параметры - Рабочая дата?
|
|||
4
Anton9843
01.10.12
✎
16:14
|
(2) заметил такое в 2.5.56.1 думал они исправили в 2.5.56.2, недаром так оперативно выложили
фига там, все так и осталось (3) сервис - параметры - рабочая дата: стоит галочка использовать текущую дату компьютера ну и в поле соответственно стоит 01.10.2012 |
|||
5
EvgenPS
01.10.12
✎
16:29
|
рабочий стол - вкладка "Кадровый учет" - Остатки отпусков
То у всех сотрудников остаток будет 0 Ты когда открываеш там текущая дата? |
|||
6
Anton9843
01.10.12
✎
16:40
|
(5) да там стоит текущая дата 01.10.2012
|
|||
7
EvgenPS
01.10.12
✎
16:42
|
справочник-Остатки отпусков прошлых лет, здесь посмотри по сотрам.
|
|||
8
Anton9843
01.10.12
✎
17:00
|
(7)Какбы немного не так, я в коде поползал, там такое впечатление что 1С делало и недоделало
Вот тыкаем кнопку "Справка по отпуску" Вызывается КоманднаяПанельОстаткиОтпусковОрганизацийСправкаПоОтпуску() из формы списка справочника. там код: ТабДокумент = ОстаткиОтпусков.СправкаПоОтпускамСотрудника(ДанныеСтроки.Ссылка, ДатаОстаткаОтпусков); Ползем в функцию ОстаткиОтпусков.СправкаПоОтпускамСотрудника и видим: ТаблицаДанных = ОписаниеТаблицыДанных(); Строка = ТаблицаДанных.Добавить(); Строка.Сотрудник = Сотрудник; Строка.ДатаОстатков = НачалоДня(ДатаОстатков); Строка.ЭтоРасчетПриУвольнении = ЭтоРасчетПриУвольнении; Если ЭтоРасчетПриУвольнении Тогда Строка.ОтборПоПорядкуРасчетаОтпуска = ПорядокРасчетаОсновногоОтпуска; КонецЕсли; Результат = ОстаткиОтпусков(ТаблицаДанных)[0]; т.к. это не расчет при увольнении то Строка.ОтборПоПорядкуРасчетаОтпуска не заполняется там лежит пустая ссылка на элемент перечисления. дальше в функции ОстаткиОтпусков есть мега пакет запросов второй пакет запросов собирает таблицу ВТТаблицаСотрудников из разного, в том числе и из ОсновныеНачисленияОрганизаций КАК НачисленияОсновногоОтпуска и присоединяет их хитро по условию: ВЫБОР КОГДА ТаблицаДанных.ОтборПоПорядкуРасчетаОтпуска = ЗНАЧЕНИЕ(Перечисление.ПорядокРасчетаОтпуска.ПоКалендарнымДням) ТОГДА НачисленияОсновногоОтпуска.Ссылка = ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ОплатаПоСреднемуОтпКалендарныеДни) КОГДА ТаблицаДанных.ОтборПоПорядкуРасчетаОтпуска = ЗНАЧЕНИЕ(Перечисление.ПорядокРасчетаОтпуска.ПоШестидневке) ТОГДА НачисленияОсновногоОтпуска.Ссылка = ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ОплатаПоСреднемуОтпШестидневка) ИНАЧЕ ЛОЖЬ КОНЕЦ тоесть в нашем случае когда это пустая ссылка, никогда не присоединяет ну и вид отпуска основного ЕСТЬNULL(НачисленияОсновногоОтпуска.ВидЕжегодногоОтпуска, ЗНАЧЕНИЕ(Справочник.ВидыЕжегодныхОтпусков.ПустаяСсылка)) всегда пустая ссылка получается вот тут гдето 1С недоделала мне так кажется |
|||
9
Bell
02.10.12
✎
00:51
|
(0) так я не обновился и оказался прав. У меня работает.
|
|||
10
Иоканаан
09.10.12
✎
16:57
|
Обновил копию БД до 2.5.56.3 - остатки отпусков показываются верно.
|
|||
11
Anton9843
18.10.12
✎
18:13
|
Проблема решена, зря ругал 1С, сам виноват.
У ежегодного отпуска значение в реквизите "ИдентификаторЭлемента" оказалось не пустое а "ДляТрудовыхДоговоровНаСрокДоДвухМесяцев". В эту базу переносили данные из семерочных баз ЗиК из 12 штук. И не разом а по паре/тройке в месяц. Наверно при очередном переносе мне виды отпусков и попортило. А реквизит невидно я и несообразил сразу. Спасибо Иоканаан, заставил меня поглубже вникнуть чего за фигня именно с нашими базами. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |