8.2.13 х64 + SQL 2008 + УПП 1.3.27
В "Табель Т-13" криво отрабатывает ВНУТРЕННЕЕ СОЕДНИЕНИЕ
ИЗ
РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ФактическийПериодДействия(
ПериодДействия В
(ВЫБРАТЬ
Сотрудники.ПериодРегистрации
ИЗ
ВТСотрудники КАК Сотрудники)
И ВидРасчета <> ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ДниНеоплачиваемыеСогласноТабелю)
И Сотрудник В
(ВЫБРАТЬ
Сотрудники.Сотрудник
ИЗ
ВТСотрудники КАК Сотрудники)
И ((НЕ ВидРасчета.ВидВремени В (ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ПустаяСсылка), ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ДополнительноОплачиваемоеВПределахНормы), ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ЧасовоеНеотработанное)))
ИЛИ ВидУчетаВремени В (ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоНочнымЧасам), ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоВечернимЧасам)))) КАК ФактическийПериодДействия
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени
ПО ФактическийПериодДействия.ГрафикРаботы = ГрафикиРаботыПоВидамВремени.ГрафикРаботы
И ФактическийПериодДействия.ПериодДействияНачало <= ГрафикиРаботыПоВидамВремени.Дата
И ФактическийПериодДействия.ПериодДействияКонец >= ГрафикиРаботыПоВидамВремени.Дата
И ФактическийПериодДействия.ВидУчетаВремени = ГрафикиРаботыПоВидамВремени.ВидУчетаВремени
попадает куча лишних записей.
Например,
ПериодДействияНачало = 01.01.2011 0:00:00
ПериодДействияКонец = 27.01.2011 23:59:59
ГрафикиРаботыПоВидамВремени.Дата = 17.01.2010
(В РС ГрафикиРаботыПоВидамВремени Дата не содержит временя)
В файловом варианте отрабатывает нормально.
ЛЕВОЕ СОЕДИНЕНИЕ в серверном отрабатывает нормально. Также нормально отрабатывает вариант с добавлением НАЧАЛОПЕРИОДА:
И НАЧАЛОПЕРИОДА(ФактическийПериодДействия.ПериодДействияНачало) <= НАЧАЛОПЕРИОДА(ГрафикиРаботыПоВидамВремени.Дата)
И НАЧАЛОПЕРИОДА(ФактическийПериодДействия.ПериодДействияКонец) >= НАЧАЛОПЕРИОДА(ГрафикиРаботыПоВидамВремени.Дата)
Кто-нибудь сталкивался? Как побороть?
Азат, как поборол свою проблему с датами в SQL 2008:
v8: УТ 11, 1С + SQL 2008, Непонятка со временем