Не корректная работа запроса?

1. user655016_a0s0d0 28.11.18 13:21 Сейчас в теме
Добрый день!
Столкнулись с проблемой в базе 1С:ЗУП 2.5 (версия платформы 8.2.19.130)
База долгое время работала на Windows, но несколько дней назад было решено перенести её на сервер Linux. И все было бы хорошо, но заметили ошибки при формировании табеля учета рабочего времени – стали задваиваться, затраиваться и т.д записи по тем сотрудникам у которых в РС ПлановыеНачисления есть несколько действующих видов расчета. Стали разбираться в коде и нашли проблемный участок в запросе.
ВЫБРАТЬ
	СотрудникиОрганизаций.Ссылка КАК Ссылка,
	СотрудникиОрганизаций.Физлицо
ПОМЕСТИТЬ ВТСписокРаботников
ИЗ
	Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
ГДЕ
	СотрудникиОрганизаций.Ссылка = &Сотрудник

ИНДЕКСИРОВАТЬ ПО
	Ссылка
;

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


Результат работы


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

ИНДЕКСИРОВАТЬ ПО
	Ссылка
;

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

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


Результат работы


Может кто-то сталкивался с подобным, из-за чего запрос не отрабатывает как задумано и что можно сделать для решения проблемы? Переписывать запросы не вариант, т.к. не известно где и что еще может работать не правильно.
Надеюсь на помощь, спасибо!
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. alex-l19041 8 28.11.18 15:16 Сейчас в теме
база файловая или серверная ?
3. user655016_a0s0d0 28.11.18 15:43 Сейчас в теме
Добрый день!
Столкнулись с проблемой в базе 1С:ЗУП 2.5 (версия платформы 8.2.19.130)
База долгое время работала на Windows, но несколько дней назад было решено перенести её на сервер Linux. И все было бы хорошо, но заметили ошибки при формировании табеля учета рабочего времени – стали задваиваться, затраиваться и т.д записи по тем сотрудникам у которых в РС ПлановыеНачисления есть несколько действующих видов расчета. Стали разбираться в коде и нашли проблемный участок в запросе.
ВЫБРАТЬ
	СотрудникиОрганизаций.Ссылка КАК Ссылка,
	СотрудникиОрганизаций.Физлицо
ПОМЕСТИТЬ ВТСписокРаботников
ИЗ
	Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
ГДЕ
	СотрудникиОрганизаций.Ссылка = &Сотрудник

ИНДЕКСИРОВАТЬ ПО
	Ссылка
;

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


Результат работы


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

ИНДЕКСИРОВАТЬ ПО
	Ссылка
;

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

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


Результат работы


Может кто-то сталкивался с подобным, из-за чего запрос не отрабатывает как задумано и что можно сделать для решения проблемы? Переписывать запросы не вариант, т.к. не известно где и что еще может работать не правильно.
Надеюсь на помощь, спасибо!
4. user655016_a0s0d0 28.11.18 15:43 Сейчас в теме
5. alex-l19041 8 28.11.18 18:13 Сейчас в теме
(4) перенесли с MS SQL на PostgreSQL ? или и ранее работали на PostgreSQL ?
6. user655016_a0s0d0 29.11.18 07:46 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот