Имя: Пароль:
1C
1C 7.7
v7: ЗиК. Пожалуйста Ваши идеи. Установить период работы сотр-ка в данном квартале.
0 IgorTrifonov
 
25.05.16
14:07
Всем здрасьте.
Я сделал в цикле, но хотелось бы знать другой вариант или запросом.
(так сказать для общего развития)

Допустим указан период квартала I, т.е. 01.01.2016 по 31.03.2016

Короче,
сотрудник может устроиться на работу и уволиться и опять вернуться, то ему делаем два или более периода,
то есть
15.01.2016 по 20.01.2016 (пришёл, ушёл)
01.03.2016 по 31.03.2016 (пришёл, остался)

сотрудник может уже давно работать и не собирается увольняться пока не выгонят его в шею,
то есть весь квартал он работал
01.01.2016 по 31.03.2016

сотрудник может давно работать, но в этом квартале он на всех обиделся и ушёл
то есть
01.01.2016 по 24.02.2016

я прочитал приказ о приёме и приказ об увольнении
и сделал в цикле:

    НачРаботы_в_Квартале = ВыбНачПериода;
    КонРаботы_в_Квартале = ВыбКонПериода;
    
    т12.ВыбратьСтроки();
    Пока т12.ПолучитьСтроку() = 1 Цикл
        НачРаботы_в_Квартале = Дата(0);
        КонРаботы_в_Квартале = Дата(0);
        Если (т12.ДатаПриема > т12.ДатаУвольн) Тогда
              т12.ДатаУвольн = Дата(0);
        КонецЕсли;
        Если (т12.ДатаПриема = Дата(0)) Тогда
            НачРаботы_в_Квартале = ВыбНачПериода;
        Иначе
            Если т12.ДатаПриема < ВыбНачПериода Тогда
                НачРаботы_в_Квартале = ВыбНачПериода;
            Иначе
                НачРаботы_в_Квартале = т12.ДатаПриема;
            КонецЕсли;
        КонецЕсли;
        Если (т12.ДатаУвольн = Дата(0)) Тогда
            КонРаботы_в_Квартале = ВыбКонПериода;
        Иначе
            Если (т12.ДатаУвольн < ВыбКонПериода) и (т12.ДатаУвольн > ВыбНачПериода) Тогда
                КонРаботы_в_Квартале = т12.ДатаУвольн;
            ИначеЕсли т12.ДатаУвольн >= ВыбКонПериода Тогда
                КонРаботы_в_Квартале = ВыбКонПериода;
            КонецЕсли;
        КонецЕсли;
        т12.ДатаПриема = НачРаботы_в_Квартале;
        т12.ДатаУвольн = КонРаботы_в_Квартале;
    КонецЦикла;
1 aka AMIGO
 
25.05.16
14:12
Какая конфигурация?
2 IgorTrifonov
 
25.05.16
14:37
зарплата кадры 7.7
нестандартная, ( доморощенная )
3 hhhh
 
25.05.16
15:04
(2) если сотрудник более 5 раз за квартал увольняется, тогда наверно можно запрос написать. А так пофиг. Не стоит заморачиваться.
4 IgorTrifonov
 
25.05.16
15:16
(3) очень интересно, хоть запросом хоть как.
5 Смотрящий
 
25.05.16
15:22
(0) А что нужно то в конечном итоге телодвижений этих ?
6 IgorTrifonov
 
25.05.16
15:59
(5) как это сделать запросом или другая какая идея, допустим ввести журнал дополнительный, который заполнялся бы периодами при проведении приказов (прием, увольнение)
но больше всего интересно запросом, хотя бы словесное описание алгоритма
7 Моль_Nec
 
25.05.16
16:10
В ЗИК был реквизит "Характер работы", периодический.
Там и отражалась история изменений. Можно запросом взять данные