Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )

> Подразделение в расчетной ведомости организации          
aik2001 Подменю пользователя
сообщение 10.09.19, 12:47
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 12
Спасибо сказали: 0 раз
Рейтинг: 0

Есть несколько сотрудников которые работали в одном подразделении, а потом в другом, переведены кадровым перемещением, не совместители.
Если в ведомости делать отбор по актуальному подразделению сотрудник попадает в него если, по старому подразделению то в старое.
Если без отбора то показывает в актуальном. В чем может быть причина.


Управление торговым предприятием для Украины", редакция 1.2. (1.2.51.1)

fly Подменю пользователя
сообщение 10.09.19, 14:14
Сообщение #2

Общительный
**
Группа: Пользователи
Сообщений: 46
Спасибо сказали: 12 раз
Рейтинг: 10

aik2001 @ Сегодня, 13:47 * ,

Цитата(aik2001 @ 10.09.19, 13:47) *
В чем может быть причина.


в ведомость попадают сотрудники работавшие в этом подразделении за указанный период.

доступными словами "почему не подает и в старое и новое?":
"примерно такое условие, если сотрудник уже в числиться сейчас в другом подразделении, то попадает - где числиться, иначе попадает в текущее подразделение"

aik2001 Подменю пользователя
сообщение 10.09.19, 14:30
Сообщение #3

Общительный
**
Группа: Пользователи
Сообщений: 12
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(fly @ 10.09.19, 15:14) *
доступными словами "почему не подает и в старое и новое?":


Проблема в том что он как раз попадает. Хотя уже не работает в этом подразделении, переведен 01.04 в другое.
А в ведомости за август попадает и в старое и в новое, если делать по ним отбор. Без отбора подразделение указывается актуальное.


fly Подменю пользователя
сообщение 10.09.19, 14:47
Сообщение #4

Общительный
**
Группа: Пользователи
Сообщений: 46
Спасибо сказали: 12 раз
Рейтинг: 10

aik2001 @ Сегодня, 13:47 * ,
Цитата(aik2001 @ 10.09.19, 13:47) *
Если в ведомости делать отбор


там есть несколько ведомостей, какую имели ввиду конкретно?

fly Подменю пользователя
сообщение 10.09.19, 15:47
Сообщение #5

Общительный
**
Группа: Пользователи
Сообщений: 46
Спасибо сказали: 12 раз
Рейтинг: 10

aik2001 @ Сегодня, 15:30 * ,
Цитата(aik2001 @ 10.09.19, 15:30) *
Проблема в том что он как раз попадает. Хотя уже не работает в этом подразделении, переведен 01.04 в другое.
А в ведомости за август попадает и в старое и в новое, если делать по ним отбор. Без отбора подразделение указывается актуальное.



Когда ставите отбор - Подразделение, то он на уровне Последних значений ищет Сотрудника и Подразделение
Если не ставите отбор - Подразделдение, ищет только последнее значение только - Сотрудник

ВЫБРАТЬ
    |                Работники.ПодразделениеОрганизации                        КАК Подразделение,
    |                Работники.Сотрудник                                        КАК Сотрудник,
    |                Работники.Организация                                    КАК Организация
    |            ИЗ
    |                РегистрСведений.РаботникиОрганизаций.СрезПоследних(КОНЕЦПЕРИОДА(&Период, МЕСЯЦ),
    |                    Сотрудник.ВидЗанятости В (&ПарамОсновнойСотрудник)
    |                    {ПодразделениеОрганизации КАК Подразделение, Организация}
    |                    )                    КАК Работники



что приводит к двум строкам при установке Отборов по Подразделению.
Так отбор происходит не в целом по сотруднику - где он только в новом подразделении
Добавляете "Отобор" (Сотрудник + Подразделение) - то существую две записи "Последних значений" в старом подразделении и в новом.

Т.е. находит
1я строка - Сотрудник - Подразделение Старое
2я строка - Сотрудник - Подразделение Новое

Спасибо сказали: aik2001,

aik2001 Подменю пользователя
сообщение 10.09.19, 17:00
Сообщение #6

Общительный
**
Группа: Пользователи
Сообщений: 12
Спасибо сказали: 0 раз
Рейтинг: 0

fly @ Сегодня, 16:47 * ,

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



{ПодразделениеОрганизации КАК Подразделение

это же то же самое что и

Работники.ПодразделениеОрганизации = &ПодразделениеОрганизации

Макс1С Подменю пользователя
сообщение 10.09.19, 18:49
Сообщение #7

Общительный
**
Группа: Пользователи
Сообщений: 23
Из: Днепр
Спасибо сказали: 8 раз
Рейтинг: 7

aik2001 @ Сегодня, 18:00 * ,
не то же самое, конструкция в фигурных скобках используется построителем отчета и в случае пустых значений просто игнорируется.
По сути, в зависимости от выбранных на форме отборов, исполняемый в БД запрос(текст запроса) может быть разным. Не проверял на практике, но думаю профайлером SQL это будет видно наглядно

aik2001 @ Сегодня, 18:00 * ,
+ к тому же это параметры виртуальной таблицы, это совсем не то же самое что условия в разделе "ГДЕ"
аналог запроса без конструкций для построителя была бы:
ВЫБРАТЬ
    Работники.Организация,
    Работники.Сотрудник,
    Работники.ПодразделениеОрганизации
ИЗ
    РегистрСведений.РаботникиОрганизаций.СрезПоследних(КОНЕЦПЕРИОДА(&Период, МЕСЯЦ), ПодразделениеОрганизации = &ПодразделениеОрганизации И Организация = &Организация) КАК Работники

Спасибо сказали: aik2001,

Макс1С Подменю пользователя
сообщение 10.09.19, 21:57
Сообщение #8

Общительный
**
Группа: Пользователи
Сообщений: 23
Из: Днепр
Спасибо сказали: 8 раз
Рейтинг: 7

Ещё мысля созрела: разница между параметром вирт.таблицы и условием "Где" в следующем:
в первом случае будут отобраны все записи удовлетворяющие всем параметрам(сотрудник, подразделение, организация), и среди них будет выбрана последняя запись(срез последних). Так и получим действующую запись по старому подразделению.
во втором случае будут отобраны все записи по сотруднику, среди них будет взята последняя(актуальное подразделение на тек.момент) и потом только применятся условия из раздела "Где" - т.е. результат будет пустым если указать старое подразделение

aik2001 Подменю пользователя
сообщение 11.09.19, 11:25
Сообщение #9

Общительный
**
Группа: Пользователи
Сообщений: 12
Спасибо сказали: 0 раз
Рейтинг: 0

Макс1С @ Вчера, 22:57 * ,
Спасибо поставил в запросе "Где" и все заработало.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 17.09.19, 13:06
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!