Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 19:22

Плановые Начисления Сотрудников Запрос.

Автор biofox, 17 июл 2015, 12:50

0 Пользователей и 1 гость просматривают эту тему.

biofox

Вообщем делая запрос из РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций Столкнулся с проблемой. Старые начисления не удаляются, после изменения. Оклады и тд. дублируются.


В самом регистре нету никаких признаков завершения типа ПериодЗавершения



Ну вот собственно вопрос как в запросе удалить старый вид расчета и оставить новый.
Мой запрос был:

"ВЫБРАТЬ
                           |   ПлановыеНачисленияРаботниковОрганизаций.Период,
                           |   ПлановыеНачисленияРаботниковОрганизаций.Регистратор,
                           |   ПлановыеНачисленияРаботниковОрганизаций.Сотрудник,
                           |   ПлановыеНачисленияРаботниковОрганизаций.ВидРасчета,
                           |   ПлановыеНачисленияРаботниковОрганизаций.Размер,
                           |   ПлановыеНачисленияРаботниковОрганизаций.ВидРасчетаИзмерение
                           |ИЗ
                           |   РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК ПлановыеНачисленияРаботниковОрганизаций
                           |ГДЕ
                           |   ПлановыеНачисленияРаботниковОрганизаций.Сотрудник = &ВыбСотрудник";

vitasw

Думаю, что будет проще если вы посмотрите какие движения по этому РС выполняет документ "Увольнение". Тогда и сможете определить как отфильтровать неактуальные ВР.

cska-fanat-kz

Предположу что надо взять СрезПоследних
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

biofox

Цитата: vitasw от 17 июл 2015, 12:59
Думаю, что будет проще если вы посмотрите какие движения по этому РС выполняет документ "Увольнение". Тогда и сможете определить как отфильтровать неактуальные ВР.
Это не уволенный, это увелечение оклада. Делается документом Кадровое перемещение.

Цитата: cska-fanat-kz от 17 июл 2015, 12:59
Предположу что надо взять СрезПоследних
Я так и подумал что для каждого вида расчета взять срез последнего. Пробовал но чет зациклилось.

vitasw

Цитата: cska-fanat-kz от 17 июл 2015, 12:59Предположу что надо взять СрезПоследних

Это потому что вы с ЗУПом мало работали. Срез последних тут не поможет. Точно так же подтянет все ВР. Однозначно по структуре РС нельзя понять как отфильтровать только актуальные.

Цитата: biofox от 17 июл 2015, 13:06Это не уволенный, это увелечение оклада. Делается документом Кадровое перемещение.
Да мне по барабану, что это такое. Проблема в том что вы не можете определить актуальные ВР. Список актуальных ВР вы сожете определить только проанализировав движения документа "увольнение"

biofox

Цитата: vitasw от 17 июл 2015, 13:11
Цитата: cska-fanat-kz от 17 июл 2015, 12:59Предположу что надо взять СрезПоследних

Это потому что вы с ЗУПом мало работали. Срез последних тут не поможет. Точно так же подтянет все ВР. Однозначно по структуре РС нельзя понять как отфильтровать только актуальные.

Цитата: biofox от 17 июл 2015, 13:06Это не уволенный, это увелечение оклада. Делается документом Кадровое перемещение.
Да мне по барабану, что это такое. Проблема в том что вы не можете определить актуальные ВР. Список актуальных ВР вы сожете определить только проанализировав движения документа "увольнение"


Актуальные все кроме красных


После увольнения картина следующая


Движение документа увольнения

vitasw

О! теперь другой колинкор. Давайте еще один скрин где в дополнеие видно и колонки "ВидРасчета" и "ВидРасчетаИзмерение" 

biofox

Цитата: vitasw от 17 июл 2015, 13:24
О! теперь другой колинкор. Давайте еще один скрин где в дополнеие видно и колонки "ВидРасчета" и "ВидРасчетаИзмерение" 

vitasw

Раз вы постиснялись указать конфигурацию и релиз, то буду показывать на том что есть под рукой
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Сотрудник,
| ВЫБОР
| КОГДА ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ВидРасчетаИзмерение = &ПустойВР
| ТОГДА ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ВидРасчета
| ИНАЧЕ ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ВидРасчетаИзмерение
| КОНЕЦ КАК ВидРасчета,
| ВЫБОР
| КОГДА ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ВидРасчетаИзмерение = &ПустойВР
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ЭтоОсновнойОклад,
| ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель1 КАК Размер
|ИЗ
| РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних(&ДатаЗапроса, Сотрудник = &Сотрудник) КАК ПлановыеНачисленияРаботниковОрганизацийСрезПоследних
|ГДЕ
| ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель1 <> 0";

Запрос.УстановитьПараметр("ДатаЗапроса", ДатаЗапроса);
Запрос.УстановитьПараметр("ПустойВР", ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ПустаяСсылка());
Запрос.УстановитьПараметр("Сотрудник", Сотрудник);

Результат = Запрос.Выполнить();

biofox

Цитата: vitasw от 17 июл 2015, 13:40
Раз вы постиснялись указать конфигурацию и релиз, то буду показывать на том что есть под рукой
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Сотрудник,
| ВЫБОР
| КОГДА ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ВидРасчетаИзмерение = &ПустойВР
| ТОГДА ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ВидРасчета
| ИНАЧЕ ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ВидРасчетаИзмерение
| КОНЕЦ КАК ВидРасчета,
| ВЫБОР
| КОГДА ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ВидРасчетаИзмерение = &ПустойВР
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ЭтоОсновнойОклад,
| ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель1 КАК Размер
|ИЗ
| РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних(&ДатаЗапроса, Сотрудник = &Сотрудник) КАК ПлановыеНачисленияРаботниковОрганизацийСрезПоследних
|ГДЕ
| ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель1 <> 0";

Запрос.УстановитьПараметр("ДатаЗапроса", ДатаЗапроса);
Запрос.УстановитьПараметр("ПустойВР", ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ПустаяСсылка());
Запрос.УстановитьПараметр("Сотрудник", Сотрудник);

Результат = Запрос.Выполнить();


Спасибо попробую. Платформа 8.2.19.102.
Добавлено: 17 июл 2015, 13:59


vitasw спасибо, то что нужно. Тему можно закрыть.


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск