Имя: Пароль:
1C
1С v8
И снова кривой Т-13. ЗУП 2.5.90.3
,
0 pessok
 
16.07.15
12:36
Коллеги, привет. Снова кривой Т-13 наблюдаю я, и возник вопрос о том, что, собственно, с ним делать.

Дано:
- есть обычный 40-часовой график на июль
- есть документ кадрового отклонения (отпуск) с 27.07 по 31.07
- есть расчетный документ на этот отпуск (человеку ж надо выплатить до отпуска)
- расчета зарплаты по сотруднику, естественно, еще нет (рановато).

Формируем Т-13 - получаем на выходе весь месяц ОТ.
Распроводим начисление отпуска - видим нормальные данные.

Тут магическое "если есть расчет з/п, то считаем по з/п, если его нет, то считаем по графику и отклонениям" работает.

Полез я ковырять отчет, вижу вот такой кусок.


ВЫБРАТЬ РАЗЛИЧНЫЕ
    ФактическийПериодДействия.Сотрудник КАК Сотрудник,
    ФактическийПериодДействия.ВидРасчета КАК ВидРасчета,
        //убрал портянку по виду времени
    ФактическийПериодДействия.ВидРасчета.ВидВремени КАК ПеречислениеВидВремени,
    ФактическийПериодДействия.ГрафикРаботы КАК ГрафикРаботы,
    ФактическийПериодДействия.ПериодДействия КАК ПериодРегистрации,
    ФактическийПериодДействия.ПериодРегистрации КАК МесяцНачисления,
    ФактическийПериодДействия.Сторно,
    ФактическийПериодДействия.ОтработаноЧасов,
    ГрафикиРаботыПоВидамВремени.Дата КАК ДатаТабеля,
    ФактическийПериодДействия.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени КАК ВидВремениИсходный
ПОМЕСТИТЬ ВТОсновныеНачисления
ИЗ
    РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ФактическийПериодДействия(
            ПериодДействия В
                    (ВЫБРАТЬ
                        Сотрудники.ПериодРегистрации
                    ИЗ
                        ВТСотрудники КАК Сотрудники)
                И ВидРасчета <> ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ДниНеоплачиваемыеСогласноТабелю)
                И Сотрудник В
                    (ВЫБРАТЬ
                        Сотрудники.Сотрудник
                    ИЗ
                        ВТСотрудники КАК Сотрудники)
                И (НЕ ВидРасчета.ВидВремени В (ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ПустаяСсылка), ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ДополнительноОплачиваемоеВПределахНормы), ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ЧасовоеНеотработанное))
                    ИЛИ ВидУчетаВремени В (ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоНочнымЧасам), ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоВечернимЧасам)))) КАК ФактическийПериодДействия
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени
        ПО ФактическийПериодДействия.ГрафикРаботы = ГрафикиРаботыПоВидамВремени.ГрафикРаботы
            И ФактическийПериодДействия.ПериодДействияНачало <= ГрафикиРаботыПоВидамВремени.Дата
            И ФактическийПериодДействия.ПериодДействияКонец >= ГрафикиРаботыПоВидамВремени.Дата
            И ФактическийПериодДействия.ВидУчетаВремени = ГрафикиРаботыПоВидамВремени.ВидУчетаВремени

//убрал группировку и индексирование



В фактическом периоде у нас одна запись с 27 по 31 - тот самый расчет отпуска, в графиках учета по видам времени - стандартные записи с видом времени по дням.
Таким образом, судя по внутреннему соединению дат, у нас в результате запроса должно быть только 5 записей по отпуску, но формируется весь месяц, и весь он отпускной.
Толи у меня глаз замылился, толи я туплю, но не могу понять почему так происходит.

Куда ковырять?
1 pessok
 
16.07.15
12:53
бульк!
2 pessok
 
16.07.15
13:24
коллеги, ну неужели никто не победил?
3 pessok
 
16.07.15
13:41
быстрее, выше, сильнее!
4 Goggy
 
16.07.15
13:56
(0) в отладчик ковыряй и смотри что запрос возвращает. Смотри параметры какие установлены в запросе и чтоб наверняка в консоли его пофрмируй.
5 piter3
 
16.07.15
14:03
если ничего не изменилось то еще и документ и отчет по разному себя ведут.а ты думал в сказку попал/
6 piter3
 
16.07.15
14:05
и кстати где кривизна расчета?
7 pessok
 
16.07.15
15:02
сорри, обедал...
отладчиком запрос возвращает все записи.
документа ввода табеля нет, формируется только отчет.
кривизны расчета и нет, есть кривизна представления табеля. Нужно сделать расчет за первую половину месяца, а у человека все дни ОТ, хотя он только 27 в отпуск идет
8 pessok
 
16.07.15
16:36
ну может будет конструктив? :)
9 IBTM
 
16.07.15
18:35
(8) ну не знаю, такой косяк маловероятен... как вариант сделать новый док. нач отпуска.
10 Artful Den
 
16.07.15
20:37
Табель в ЗУП-е печатается не годный. На крупных предприятиях сначала табель заносят и распечатывают, потом уже все отклонения. Поэтому у меня табель обязателен, к табелю печатная форма.
11 piter3
 
16.07.15
21:37
(10) у моих годный.если считаете иначе то хоть скажите чем
12 Artful Den
 
16.07.15
21:59
(11) ну, во первых в табеле должны заполняться графы "Данные для начисления заработной платы по видам и направлениям затрат", потом в "Неявки по причинам" должен выводиться цифровой код вида учет рабочего времени. У меня на шахте с 2 тыс человек штатный табель не годный. У тебя на заводе штатный табель используют? Наверное расчетчики у тебя все отклонения заводят без табелей, распечатанных из 1С, я так понимаю? По хорошему, в первоисточнике должен быть табель, потом должны быть расчетные документы. В 1С все сделано наоборот (ЗУП, УПП, КА). Возразить есть что? Могу тебе пару скриншотов скинуть табеля штатного и как должно быть.
13 Artful Den
 
16.07.15
22:00
(11) У меня первичные табеля заводятся как первичка, а не как результат ввода отклонений, о которых расчетный отдел может и не знать.
14 piter3
 
17.07.15
13:23
(12) для твоего конкретного предприятия нужно дописывать и что?кто-то обещал из коробки и всем?
(13)да ради бога ваш выбор
15 Homer
 
17.07.15
14:32
у меня 2 конторы (~700 чел в каждой), одна от табеля пляшет, другая от документа.
16 pessok
 
21.07.15
11:04
во, блин, а я пропустил обсуждение в своей же ветке, простите... Увидел открытый тикет и решил проверить тему, а тут вон оно что...
(10) печатка к документа формируется не по данным документа, а по данным отклонений. Так что только ВПФ, что не доставляет
(14) зуп типовой, случай абсолютно ординарный, чтобы под него придумывать костыли.

Обратите, пожалуйста, внимание в (0) на текст

"Таким образом, судя по внутреннему соединению дат, у нас в результате запроса должно быть только 5 записей по отпуску, но формируется весь месяц, и весь он отпускной.
Толи у меня глаз замылился, толи я туплю, но не могу понять почему так происходит. №