Имя: Пароль:
1C
1C 7.7
v7: зарплата и кадры: в т2 задваивает ежегодный отпуск
0 КозаNoVa
 
26.06.14
17:20
У сотрудника в отчете Т-2 задваивается ежегодный отпуск (скрин во вложении). Проверила приказы на отпуск, начисления отпуска. Проверила также журнал расчетов. Тестировала база. С чем это может быть связано?

http://s43.radikal.ru/i101/1406/62/d9d1a7ffcf6b.jpg
1 ale-sarin
 
26.06.14
17:24
и что там в приказах под номерами 13 и 13/1?
2 КозаNoVa
 
26.06.14
17:28
(1) Приказ 13: за период с 06.04.2010-05.04.2011, на 2 дня дата начала 15.04.2014, дата окончания 16.04.2014

Приказ 13/1: за период с 06.04.2011-05.04.2012, на 28 дней, дата начала 17.04.2014, дата окончания 16.05.2014
3 КозаNoVa
 
26.06.14
17:29
Посмотрел все ее отпуска: а период с 06.04.2010-05.04.2011 оставалось неотгулянных 2 дня
4 2S
 
26.06.14
17:36
Структура подчиненности кадрового и расчетного документа не нарушена?
5 ale-sarin
 
26.06.14
17:38
Вот куски оттуда. Может натолкут на мысль?
Да и сами может посмотреть

        ДокОтпуск.ИспользоватьЖурнал("Отклонения",1);
        ДокОтпуск.УстановитьФильтр(1,0);
        ДокОтпуск.ВыбратьПоЗначению(ДатаНачала,ДатаОкончания,"Сотрудник",Сотрудник);
        // Собираем все отпуска по сотруднику в таблицу чтобы, затем, найти документ приказ, и
        // окончательный документ корректировку.
        Пока (ДокОтпуск.ПолучитьДокумент()=1)и(НомерСтроки<217) Цикл
            Если (ДокОтпуск.Вид() = "НачислениеОтпуска") или (ДокОтпуск.Вид() = "ОтпускПоУходуЗаРебенком") Тогда
                ТабОтп.НоваяСтрока();
                ТабОтп.Основание = ДокОтпуск.ТекущийДокумент();
                ТабОтп.Корректировка = ПолучитьПодчиненныйДокументОтпуск(ДокОтпуск.ТекущийДокумент());
                Если ДокОтпуск.Вид() = "НачислениеОтпуска" Тогда
                    Если ДокОтпуск.ДокОснование.Вид() = "ПриказОбУвольнении" Тогда
                        ТабОтп.ПриказПоОтпуску = ДокОтпуск.ДокОснование;
                    Иначе
                        ТабОтп.ПриказПоОтпуску = ПолучитьПриказПоОтпуску(ДокОтпуск.ТекущийДокумент());
                    КонецЕсли;
                Иначе
                    ТабОтп.ПриказПоОтпуску = ПолучитьПриказПоОтпуску(ДокОтпуск.ТекущийДокумент());
                КонецЕсли;
            КонецЕсли;
        КонецЦикла;
6 ale-sarin
 
26.06.14
17:39
потом еще

        // Добавим с таблицу документы ПриказПоОтпуску по которым не было документа "НачислениеОтпуска".
        ДокКадровыйОтпуск.УстановитьФильтр(1,0);
        ДокКадровыйОтпуск.ВыбратьПоЗначению(ДатаНачала, ДатаОкончания, "Сотрудник", Сотрудник);
        Пока ДокКадровыйОтпуск.ПолучитьДокумент() = 1 Цикл      
            Если ДокКадровыйОтпуск.Вид() = "ПриказПоОтпуску" тогда
                Если СписокОбработанныхДокументов.Принадлежит(ДокКадровыйОтпуск.ТекущийДокумент()) = 0 тогда
                    ТаблицаОтпуск.НоваяСтрока();
                    ТаблицаОтпуск.Документ = ДокКадровыйОтпуск.ТекущийДокумент();
                    ТаблицаОтпуск.ВидОтпуска = ДокКадровыйОтпуск.ВидОтпуска;
                    ТаблицаОтпуск.ДнейОтпуска = ДокКадровыйОтпуск.КоличествоДнейОтпуска;
                    ТаблицаОтпуск.ДатаС = ДокКадровыйОтпуск.Начало;
                    ТаблицаОтпуск.ДатаПо = ДокКадровыйОтпуск.Окончание;
                    ТаблицаОтпуск.ПериодС = ДокКадровыйОтпуск.НачалоПериода;
                    ТаблицаОтпуск.ПериодПо = ДокКадровыйОтпуск.ОкончаниеПериода;
                КонецЕсли;
            КонецЕсли;
        КонецЦикла;
7 ale-sarin
 
26.06.14
17:39
короче смотрите не только приказы, но и начисление отпуска и его движухи по ЖР.
8 2S
 
26.06.14
17:40
(6) выложи глобальник зики еще
9 ale-sarin
 
26.06.14
17:40
(8) а почему бы и нет?
10 КозаNoVa
 
26.06.14
17:41
(4) нарушена. 2 начисления отпуска сделаны по первому приказу,
11 2S
 
26.06.14
17:42
(10) вот и ответ
12 КозаNoVa
 
26.06.14
17:45
(7) (11) Спасибо вам, очень помогли