Имя: Пароль:
1C
1С v8
Неоплаченные периоды ЗУП
,
0 dgamelya
 
30.07.13
13:29
добрый день! Необходимо получить периоды, за которые сотруднику не было ничего начислено. подскажите пожалуйста как их можно получить?

Запросом выбираю все начисления, а как связать это с периодом не знаю.


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

УПОРЯДОЧИТЬ ПО
ПериодРегистрации
1 IBTM
 
30.07.13
14:00
А что собрались выбирать если записей нет?)
2 IBTM
 
30.07.13
14:05
вам нужно, делать соединение с каким-нибуть рс где идет регистрация периода работы и оставлять только те периоды за которые в РР ОСнНач отсутствубт записи. Да и ещё проверять нужно и "Дополнительные начисления"!
3 dgamelya
 
30.07.13
17:09
может есть в типовых решениях похожие запросы?
4 IBTM
 
30.07.13
17:14
неа, таких нет.

ещё как вариант по проще, для каждого месяца выполнять ваш запрос, если результат.следующий = ложь, вот Вам первый месяц без начислений...
5 Fenrik
 
30.07.13
17:16
(0) Задача сформулирована мутно. Покажи на простом примере, что именно хотят?
6 wms
 
30.07.13
17:23
все периоды выбрать по произв. календарю и лев. соединять по (0)
там где null у начисл.  выводить
7 dgamelya
 
30.07.13
17:30
(5) Например, сотруднику был начислен оклад с 1.05.2013 - 15.05.2013 и с 25.05.2013 - 31.05.2013. Нужно в запросе получить период за которые сотруднику ничего не начислено, т.е. 16.05.2013 - 24.05.2013
8 Fenrik
 
30.07.13
17:34
(7) Пользователи так не формулируют. Что им надо? Забывают оплатить больничные-отпуска и хотят увидеть их отчетом?
9 IBTM
 
30.07.13
17:39
(7) оО, тут всё серьёзней чем я думал...
10 wms
 
30.07.13
17:54
(7)тогда в запросе период по дням надо выводить.
весь период , вот пример из ЗУПа тока там по месяцам:
    ПериодыТекст = "ВЫБРАТЬ ДАТАВРЕМЯ(" + Формат(КонецМесяца,"ДФ=гггг,М,д,Ч,м,с") + ") КАК Период ПОМЕСТИТЬ ВТДатыПериода";
    // прибавим остальные месяцы
    Для Сч = 2 По Месяц(ПроцедурыПерсонифицированногоУчета.ОкончаниеОтчетногоПериодаПерсучета(ПервыйОтчетныйПериод)) Цикл
        КонецМесяца = КонецМесяца(КонецМесяца+1);
        ПериодыТекст = ПериодыТекст +" ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ДАТАВРЕМЯ(" + Формат(КонецМесяца,"ДФ=гггг,М,д,Ч,м,с") + ")";
    КонецЦикла;
    Запрос.Текст = ПериодыТекст;
    Запрос.Выполнить();
11 wms
 
30.07.13
17:55
т.е. 2 таблицы с периодами факт. начислений и все периоды и соединять
12 dgamelya
 
30.07.13
17:55
есть не типовой документ, по которому делаются начисления сотрудникам (работают вахтами, в разных местах). и не всегда есть работа или не всегда успели его отправить на объект и эти дни не попадают в начисления в наш документ
13 Fenrik
 
30.07.13
17:57
(9) Не, все еще хуже.