Имя: Пароль:
1C
1С v8
SQL 2008 + ВНУТРЕННЕЕ СОЕДИНЕНИЕ
0 Поток сознания
 
08.11.12
10:47
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, Непонятка со временем
1 Поток сознания
 
08.11.12
10:51
Смещение дат 2000
2 Поток сознания
 
08.11.12
11:35
Блинс, криво вставился код.
Вся проблема при соединении в части условия
И ФПД.ПериодДействияНачало<=ГРПоВидамВремени.Дата
И ФПД.ПериодДействияКонец>=ГРПоВидамВремени.Дата
Может в самом SQL какие настройки есть волшебные?
3 zva
 
08.11.12
11:56
Сервис-пак на SQL 2008 хоть какой-нить стоит?
Голый SQL 2008 с 1С криво работает...
Проблемы при расчете районного коэф. и т.д.
4 Поток сознания
 
08.11.12
13:16
(3) хехе, оказалось, что у нас голый-голый.
Спасибо, попробуем обновиться.
5 Поток сознания
 
09.11.12
09:13
После установки последнего сервис-пака эта беда ушла.
Спасибо.
Программист всегда исправляет последнюю ошибку.