Добрый день!
Столкнулись с проблемой в базе 1С:ЗУП 2.5 (версия платформы 8.2.19.130)
База долгое время работала на Windows, но несколько дней назад было решено перенести её на сервер Linux. И все было бы хорошо, но заметили ошибки при формировании табеля учета рабочего времени – стали задваиваться, затраиваться и т.д записи по тем сотрудникам у которых в РС ПлановыеНачисления есть несколько действующих видов расчета. Стали разбираться в коде и нашли проблемный участок в запросе.
Результат работы
Обратите внимание на колонку «вид расчета времени», в ней есть пустые записи. По факту, в этих строках значения тоже есть, и они не попадают в условия запроса, при этом запрос их почему-то все равно вывел, не смотря на условие ПлановыеНачисленияРаботниковОрганизаций.ВидРасчета.ВидВремени = ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ОтработанноеВПределахНормы).
Попробовали переписать запрос и в итоге добились корректной работы (получилось не сразу).
Этот запрос работает:
Результат работы
Может кто-то сталкивался с подобным, из-за чего запрос не отрабатывает как задумано и что можно сделать для решения проблемы? Переписывать запросы не вариант, т.к. не известно где и что еще может работать не правильно.
Надеюсь на помощь, спасибо!
Столкнулись с проблемой в базе 1С:ЗУП 2.5 (версия платформы 8.2.19.130)
База долгое время работала на Windows, но несколько дней назад было решено перенести её на сервер Linux. И все было бы хорошо, но заметили ошибки при формировании табеля учета рабочего времени – стали задваиваться, затраиваться и т.д записи по тем сотрудникам у которых в РС ПлановыеНачисления есть несколько действующих видов расчета. Стали разбираться в коде и нашли проблемный участок в запросе.
ВЫБРАТЬ
СотрудникиОрганизаций.Ссылка КАК Ссылка,
СотрудникиОрганизаций.Физлицо
ПОМЕСТИТЬ ВТСписокРаботников
ИЗ
Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
ГДЕ
СотрудникиОрганизаций.Ссылка = &Сотрудник
ИНДЕКСИРОВАТЬ ПО
Ссылка
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ПлановыеНачисленияРаботниковОрганизаций.Период,
ПлановыеНачисленияРаботниковОрганизаций.Сотрудник,
ПлановыеНачисленияРаботниковОрганизаций.ВидРасчета,
ПлановыеНачисленияРаботниковОрганизаций.ВидРасчета.ВидВремени
ИЗ
РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК ПлановыеНачисленияРаботниковОрганизаций
ГДЕ
ПлановыеНачисленияРаботниковОрганизаций.Сотрудник В
(ВЫБРАТЬ
ВТСписокРаботников.Ссылка
ИЗ
ВТСписокРаботников)
И ПлановыеНачисленияРаботниковОрганизаций.Период <= КОНЕЦПЕРИОДА(&Месяц, МЕСЯЦ)
И ПлановыеНачисленияРаботниковОрганизаций.ВидРасчета.ВидВремени = ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ОтработанноеВПределахНормы)
ПоказатьРезультат работы

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

Может кто-то сталкивался с подобным, из-за чего запрос не отрабатывает как задумано и что можно сделать для решения проблемы? Переписывать запросы не вариант, т.к. не известно где и что еще может работать не правильно.
Надеюсь на помощь, спасибо!
Прикрепленные файлы:

По теме из базы знаний
- Получение фактических данных с помощью произвольного запроса. Бюджетирование. ERP 2.2
- Перенос данных из БП 3.0 в УНФ 3.0. Переносятся остатки, документы и справочная информация
- Перенос данных из УПП 1.3 / КА 1.1 / УТ 10.3 в УНФ 3.0. Переносятся остатки, документы и справочники
- Перенос данных из БП 3 в БП 2. Переносятся документы, справочники, а также остатки товаров, взаиморасчетов и денежных средств
- Подключение функционала БСП "Присоединенные файлы" к функционалу Диадок
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Добрый день!
Столкнулись с проблемой в базе 1С:ЗУП 2.5 (версия платформы 8.2.19.130)
База долгое время работала на Windows, но несколько дней назад было решено перенести её на сервер Linux. И все было бы хорошо, но заметили ошибки при формировании табеля учета рабочего времени – стали задваиваться, затраиваться и т.д записи по тем сотрудникам у которых в РС ПлановыеНачисления есть несколько действующих видов расчета. Стали разбираться в коде и нашли проблемный участок в запросе.
Результат работы
Обратите внимание на колонку «вид расчета времени», в ней есть пустые записи. По факту, в этих строках значения тоже есть, и они не попадают в условия запроса, при этом запрос их почему-то все равно вывел, не смотря на условие ПлановыеНачисленияРаботниковОрганизаций.ВидРасчета.ВидВремени = ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ОтработанноеВПределахНормы).
Попробовали переписать запрос и в итоге добились корректной работы (получилось не сразу).
Этот запрос работает:
Результат работы
Может кто-то сталкивался с подобным, из-за чего запрос не отрабатывает как задумано и что можно сделать для решения проблемы? Переписывать запросы не вариант, т.к. не известно где и что еще может работать не правильно.
Надеюсь на помощь, спасибо!
Столкнулись с проблемой в базе 1С:ЗУП 2.5 (версия платформы 8.2.19.130)
База долгое время работала на Windows, но несколько дней назад было решено перенести её на сервер Linux. И все было бы хорошо, но заметили ошибки при формировании табеля учета рабочего времени – стали задваиваться, затраиваться и т.д записи по тем сотрудникам у которых в РС ПлановыеНачисления есть несколько действующих видов расчета. Стали разбираться в коде и нашли проблемный участок в запросе.
ВЫБРАТЬ
СотрудникиОрганизаций.Ссылка КАК Ссылка,
СотрудникиОрганизаций.Физлицо
ПОМЕСТИТЬ ВТСписокРаботников
ИЗ
Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
ГДЕ
СотрудникиОрганизаций.Ссылка = &Сотрудник
ИНДЕКСИРОВАТЬ ПО
Ссылка
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ПлановыеНачисленияРаботниковОрганизаций.Период,
ПлановыеНачисленияРаботниковОрганизаций.Сотрудник,
ПлановыеНачисленияРаботниковОрганизаций.ВидРасчета,
ПлановыеНачисленияРаботниковОрганизаций.ВидРасчета.ВидВремени
ИЗ
РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК ПлановыеНачисленияРаботниковОрганизаций
ГДЕ
ПлановыеНачисленияРаботниковОрганизаций.Сотрудник В
(ВЫБРАТЬ
ВТСписокРаботников.Ссылка
ИЗ
ВТСписокРаботников)
И ПлановыеНачисленияРаботниковОрганизаций.Период <= КОНЕЦПЕРИОДА(&Месяц, МЕСЯЦ)
И ПлановыеНачисленияРаботниковОрганизаций.ВидРасчета.ВидВремени = ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ОтработанноеВПределахНормы)
ПоказатьРезультат работы

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

Может кто-то сталкивался с подобным, из-за чего запрос не отрабатывает как задумано и что можно сделать для решения проблемы? Переписывать запросы не вариант, т.к. не известно где и что еще может работать не правильно.
Надеюсь на помощь, спасибо!
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот