Процедура ОбновитьПараметрыДС()
СотрудникиСп = Новый Массив;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| КадровыеСведенияСрезПоследних.Сотрудник КАК Сотрудник,
| КадровыеСведенияСрезПоследних.Сотрудник.Код КАК СотрудникКод,
| МИНИМУМ(КадровыеСведенияСрезПоследних.СтатусРаботы.Код + КадровыеСведенияСрезПоследних.Организация.Код) КАК СтатусРаботы
|ИЗ
| РегистрСведений.КадровыеСведения.СрезПоследних(,0=0) КАК КадровыеСведенияСрезПоследних
|ГДЕ
| КадровыеСведенияСрезПоследних.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
|
|СГРУППИРОВАТЬ ПО
| КадровыеСведенияСрезПоследних.Сотрудник.Код,
| КадровыеСведенияСрезПоследних.Сотрудник";
Если ЗначениеЗаполнено(Организация) Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст, "0=0", "Организация = &Организация");
Запрос.УстановитьПараметр("Организация", Организация);
КонецЕсли;
СС = Новый Массив;
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
СС.Добавить((Выборка.СотрудникКод + Выборка.СтатусРаботы));
СотрудникиСп.Добавить(Выборка.Сотрудник);
КонецЦикла;
Запрос.Текст = "ВЫБРАТЬ
| КадровыеСведенияСрезПоследних.Сотрудник,
| КадровыеСведенияСрезПоследних.Сотрудник.Код КАК СотрудникКод,
| МИНИМУМ(КадровыеСведенияСрезПоследних.СтатусРаботы.Код + КадровыеСведенияСрезПоследних.Организация.Код) КАК СтатусРаботы
|ИЗ
| РегистрСведений.КадровыеСведения.СрезПоследних(,0=0) КАК КадровыеСведенияСрезПоследних
|ГДЕ
| КадровыеСведенияСрезПоследних.ДатаУвольнения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
|
|СГРУППИРОВАТЬ ПО
| КадровыеСведенияСрезПоследних.Сотрудник.Код,
| КадровыеСведенияСрезПоследних.Сотрудник";
Если ЗначениеЗаполнено(Организация) Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст, "0=0", "Организация = &Организация");
КонецЕсли;
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ТС = Выборка.СотрудникКод + Выборка.СтатусРаботы;
Если СотрудникиСп.Найти(Выборка.Сотрудник) = Неопределено Тогда
СС.Добавить(ТС);
КонецЕсли;
КонецЦикла;
СписокОрг = Новый Массив;
Если ЗначениеЗаполнено(Организация) Тогда
СписокОрг.Добавить(Организация);
Иначе
Выборка = Справочники.Организации.Выбрать();
Пока Выборка.Следующий() Цикл
Если НЕ Выборка.ПометкаУдаления Тогда
СписокОрг.Добавить(Выборка.Ссылка);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Список.Параметры.УстановитьЗначениеПараметра("СС", СС);
Список.Параметры.УстановитьЗначениеПараметра("Организации", СписокОрг);
Список.Параметры.УстановитьЗначениеПараметра("ДатаА", КонецДня(ТекущаяДатаСеанса()));
Элементы.Список.Обновить();
КонецПроцедуры
Процедура ОбновитьПараметрыДС()
СотрудникиСп = Новый СписокЗначений;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| КадровыеСведенияСрезПоследних.Сотрудник КАК Сотрудник,
| КадровыеСведенияСрезПоследних.Сотрудник.Код КАК СотрудникКод,
| МИНИМУМ(КадровыеСведенияСрезПоследних.СтатусРаботы.Код + КадровыеСведенияСрезПоследних.Организация.Код) КАК СтатусРаботы
|ИЗ
| РегистрСведений.КадровыеСведения.СрезПоследних(,0=0) КАК КадровыеСведенияСрезПоследних
|ГДЕ
| КадровыеСведенияСрезПоследних.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
|
|СГРУППИРОВАТЬ ПО
| КадровыеСведенияСрезПоследних.Сотрудник.Код,
| КадровыеСведенияСрезПоследних.Сотрудник";
Если ЗначениеЗаполнено(Организация) Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст, "0=0", "Организация = &Организация");
Запрос.УстановитьПараметр("Организация", Организация);
КонецЕсли;
СС = Новый СписокЗначений;
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
СС.Добавить((Выборка.СотрудникКод + Выборка.СтатусРаботы));
СотрудникиСп.Добавить(Выборка.Сотрудник);
КонецЦикла;
Запрос.Текст = "ВЫБРАТЬ
| КадровыеСведенияСрезПоследних.Сотрудник,
| КадровыеСведенияСрезПоследних.Сотрудник.Код КАК СотрудникКод,
| МИНИМУМ(КадровыеСведенияСрезПоследних.СтатусРаботы.Код + КадровыеСведенияСрезПоследних.Организация.Код) КАК СтатусРаботы
|ИЗ
| РегистрСведений.КадровыеСведения.СрезПоследних(
| ,
| 0 = 0
| И НЕ Сотрудник В (&СотрудникиСп)) КАК КадровыеСведенияСрезПоследних
|ГДЕ
| КадровыеСведенияСрезПоследних.ДатаУвольнения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
|
|СГРУППИРОВАТЬ ПО
| КадровыеСведенияСрезПоследних.Сотрудник.Код,
| КадровыеСведенияСрезПоследних.Сотрудник";
Если ЗначениеЗаполнено(Организация) Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст, "0=0", "Организация = &Организация");
КонецЕсли;
Запрос.УстановитьПараметр("СотрудникиСп",СотрудникиСп);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ТС = Выборка.СотрудникКод + Выборка.СтатусРаботы;
//Если СотрудникиСп.Найти(Выборка.Сотрудник) = Неопределено Тогда
СС.Добавить(ТС);
//КонецЕсли;
КонецЦикла;
СписокОрг = Новый Массив;
Если ЗначениеЗаполнено(Организация) Тогда
СписокОрг.Добавить(Организация);
Иначе
Выборка = Справочники.Организации.Выбрать();
Пока Выборка.Следующий() Цикл
Если НЕ Выборка.ПометкаУдаления Тогда
СписокОрг.Добавить(Выборка.Ссылка);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Список.Параметры.УстановитьЗначениеПараметра("СС", СС);
Список.Параметры.УстановитьЗначениеПараметра("Организации", СписокОрг);
Список.Параметры.УстановитьЗначениеПараметра("ДатаА", КонецДня(ТекущаяДатаСеанса()));
Элементы.Список.Обновить();
КонецПроцедуры
Точно. Нужно что то другое.
PS: Совсем пока это условие в запросе динамического списка убрал.
26 января по техническим причинам ГК КАМИН работает до 14:00 по МСК.
Оставить обращение после 14 часов на Линию консультаций и Группу технологической поддержки можно:
• по эл. почте: hotline@kamin.kaluga.ru, register@kamin.kaluga.ru
• или по запросу через специальную заявку на сайте
Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie и пользовательских данных в целях функционирования сайта, проведения ретаргетинга и статистических исследований, обзоров. Если вы не хотите, чтобы ваши данные обрабатывались, покиньте сайт.
Принять