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

Хранилище

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

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



> Документ Начисление ЗП орг. не начисляет если "Замещал"          
kosalex Подменю пользователя
сообщение 22.12.14, 11:17
Сообщение #1

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

Добрый день! Столкнулся с такой проблемой, есть док "Начисление ЗП орг", и есть док "Замещение орг".

Сотрудник1 замещает Сотрудник2, у одного и второго есть ночные смены.

При начислении ЗП Сотруднику1 не начисляются деньги за ночные смены Сотрудника2. Оклад идет, а вот ночные нет. Смотрю код, вроде нашол место, а что туда вставить не догадываюсь ещё...ПОМОГИТЕ!

Если НЕ ПредварительныйРасчет Тогда

        ТекстЗапросаВТ = "

        |// (п.1.2.3.) Оклады по назначениям (основные, совместители) и штатные надбавки

        |    ВЫБРАТЬ РАЗРЕШЕННЫЕ

        |        РаботникиОрганизации.Сотрудник,

        |        РаботникиОрганизации.Назначение,

        |        ОсновныеНачисления.ВидРасчета,

        |        ИСТИНА                                            КАК ОсновноеНачисление,

        |        ВЫБОР КОГДА ДвиженияРаботников.ДатаНачала <= ОсновныеНачисления.ДатаНачала            ТОГДА ОсновныеНачисления.ДатаНачала        ИНАЧЕ ДвиженияРаботников.ДатаНачала        КОНЕЦ КАК ДатаНачала,

        |        ВЫБОР КОГДА ДвиженияРаботников.ДатаОкончания <= ОсновныеНачисления.ДатаОкончания    ТОГДА ДвиженияРаботников.ДатаОкончания    ИНАЧЕ ОсновныеНачисления.ДатаОкончания    КОНЕЦ КАК ДатаОкончания,

        |        ДвиженияРаботников.ПодразделениеОрганизации,

        |        ДвиженияРаботников.ГрафикРаботы,

        |        ДвиженияРаботников.Должность,

        //|        NULL                                            КАК ДокументОснование,
        |        ОсновныеНачисления.ДокументОснование    КАК ДокументОснование,
        |

        |        ОсновныеНачисления.Показатель1,

        |        ОсновныеНачисления.Показатель2,

        |        ОсновныеНачисления.Показатель3,

        |        ОсновныеНачисления.Показатель4,
        |        ОсновныеНачисления.Показатель5,
        |        ОсновныеНачисления.Показатель6,
        |        ОсновныеНачисления.Валюта1,

        |        ОсновныеНачисления.Валюта2,

        |        ОсновныеНачисления.Валюта3,

        |        ОсновныеНачисления.Валюта4,        
        |        ОсновныеНачисления.Валюта5,        
        |        ОсновныеНачисления.Валюта6,        
        |        ОсновныеНачисления.ВидУчетаВремениДляСредней    КАК ВидУчетаВремениДляСредней

        |ПОМЕСТИТЬ ВТВсеНачисления    

        |    ИЗ " + ТекстЗапросаВТСписокРаботники + " КАК РаботникиОрганизации

        |    

        |    ЛЕВОЕ СОЕДИНЕНИЕ " + ТекстЗапросаВТДвиженияРаботников + " КАК ДвиженияРаботников    

        |    ПО        РаботникиОрганизации.Назначение = ДвиженияРаботников.Сотрудник    

        |

        |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ " + ТекстЗапросаВТПлановыеНачисления + " КАК ОсновныеНачисления    

        |    ПО        РаботникиОрганизации.Назначение = ОсновныеНачисления.Сотрудник

        |        И    (ОсновныеНачисления.ОсновноеНачисление
        |        ИЛИ    ОсновныеНачисления.ВидРасчета.СпособРасчета В(&СпособыРасчета))
        |        И    ДвиженияРаботников.ДатаНачала <= ОсновныеНачисления.ДатаОкончания

        |        И    ОсновныеНачисления.ДатаНачала <= ДвиженияРаботников.ДатаОкончания

        |

        |

        |    ОБЪЕДИНИТЬ ВСЕ

        |// (п.1.2.3.) Оклады заменам

        |    ВЫБРАТЬ

        |        Замены.Сотрудник,

        |        Замены.Назначение,

        |        ОсновныеНачисления.ВидРасчета,

        |        ИСТИНА                            КАК ОсновноеНачисление,

        |        Замены.ДатаНачала                КАК ДатаНачала,

        |        Замены.ДатаОкончания            КАК ДатаОкончания,

        |        Замены.ПодразделениеОрганизации,

        |        Замены.ГрафикРаботы,

        |        Замены.Должность,

        |        Замены.ДокументОснование        КАК ДокументОснование,

        |        ОсновныеНачисления.Показатель1,

        |        ОсновныеНачисления.Показатель2,

        |        ОсновныеНачисления.Показатель3,

        |        ОсновныеНачисления.Показатель4,
        |        ОсновныеНачисления.Показатель5,
        |        ОсновныеНачисления.Показатель5,
        |        ОсновныеНачисления.Валюта1,

        |        ОсновныеНачисления.Валюта2,

        |        ОсновныеНачисления.Валюта3,

        |        ОсновныеНачисления.Валюта4,        
        |        ОсновныеНачисления.Валюта5,        
        |        ОсновныеНачисления.Валюта6,        
        |        ОсновныеНачисления.ВидУчетаВремениДляСредней    КАК ВидУчетаВремениДляСредней

        |    ИЗ ВТЗамены КАК Замены

        |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ " + ТекстЗапросаВТПлановыеНачисления + " КАК ОсновныеНачисления    

        |    ПО        Замены.Назначение = ОсновныеНачисления.Сотрудник    

        |        И ОсновныеНачисления.ОсновноеНачисление
        
        |       // данные на начало замены

        |        И    Замены.ДатаНачала <= ОсновныеНачисления.ДатаОкончания

        |        И    ОсновныеНачисления.ДатаНачала <= Замены.ДатаНачала

        |

        |

        |    ОБЪЕДИНИТЬ ВСЕ

        |// (п.1.) Основные, совместители и их штатные надбавки

        |    ВЫБРАТЬ

        |        РаботникиОрганизации.Сотрудник,

        |        РаботникиОрганизации.Назначение,

        |        ШтатныеНадбавки.ВидРасчета,

        |        ЛОЖЬ                                            КАК ОсновноеНачисление,

        |        ВЫБОР КОГДА ДвиженияРаботников.ДатаНачала <= ШтатныеНадбавки.ДатаНачала            ТОГДА ШтатныеНадбавки.ДатаНачала        ИНАЧЕ ДвиженияРаботников.ДатаНачала КОНЕЦ КАК ДатаНачала,

        |        ВЫБОР КОГДА ДвиженияРаботников.ДатаОкончания <= ШтатныеНадбавки.ДатаОкончания    ТОГДА ДвиженияРаботников.ДатаОкончания    ИНАЧЕ ШтатныеНадбавки.ДатаОкончания    КОНЕЦ КАК ДатаОкончания,

        |        ДвиженияРаботников.ПодразделениеОрганизации        КАК ПодразделениеОрганизации,

        |        ДвиженияРаботников.ГрафикРаботы,

        |        ДвиженияРаботников.Должность,

        |        NULL                                            КАК ДокументОснование,

        |

        |        ШтатныеНадбавки.Показатель1,

        |        ШтатныеНадбавки.Показатель2,

        |        ШтатныеНадбавки.Показатель3,

        |        ШтатныеНадбавки.Показатель4,
        |        ШтатныеНадбавки.Показатель5,
        |        ШтатныеНадбавки.Показатель6,
        |        ШтатныеНадбавки.Валюта1,

        |        ШтатныеНадбавки.Валюта2,

        |        ШтатныеНадбавки.Валюта3,

        |        ШтатныеНадбавки.Валюта4,        
        |        ШтатныеНадбавки.Валюта5,        
        |        ШтатныеНадбавки.Валюта6,        
        |        NULL    КАК ВидУчетаВремениДляСредней

        |    ИЗ " + ТекстЗапросаВТСписокРаботники + " КАК РаботникиОрганизации

        |    

        |    ЛЕВОЕ СОЕДИНЕНИЕ " + ТекстЗапросаВТДвиженияРаботников + " КАК ДвиженияРаботников    

        |    ПО        РаботникиОрганизации.Назначение = ДвиженияРаботников.Сотрудник    

        |

        |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ " + ТекстЗапросаВТШтатноеРасписание + " КАК ШтатныеНадбавки    

        |    ПО        ШтатныеНадбавки.ПодразделениеОрганизации = ДвиженияРаботников.ПодразделениеОрганизации

        |        И    ШтатныеНадбавки.Должность = ДвиженияРаботников.Должность

        |        И    ДвиженияРаботников.ДатаНачала <= ШтатныеНадбавки.ДатаОкончания

        |        И    ШтатныеНадбавки.ДатаНачала <= ДвиженияРаботников.ДатаОкончания

        |

        |

        |    ОБЪЕДИНИТЬ ВСЕ

        |// (п.1.) Замены и их штатные надбавки

        |    ВЫБРАТЬ

        |        Замены.Сотрудник,

        |        Замены.Назначение,

        |        ШтатныеНадбавки.ВидРасчета,

        |        ЛОЖЬ                            КАК ОсновноеНачисление,

        |        Замены.ДатаНачала                КАК ДатаНачала,

        |        Замены.ДатаОкончания            КАК ДатаОкончания,

        |        Замены.ПодразделениеОрганизации,

        |        Замены.ГрафикРаботы,

        |        Замены.Должность,

        |        NULL                            КАК ДокументОснование,

        |        ШтатныеНадбавки.Показатель1,

        |        ШтатныеНадбавки.Показатель2,

        |        ШтатныеНадбавки.Показатель3,

        |        ШтатныеНадбавки.Показатель4,
        |        ШтатныеНадбавки.Показатель5,
        |        ШтатныеНадбавки.Показатель6,
        |        ШтатныеНадбавки.Валюта1,

        |        ШтатныеНадбавки.Валюта2,

        |        ШтатныеНадбавки.Валюта3,

        |        ШтатныеНадбавки.Валюта4,        
        |        ШтатныеНадбавки.Валюта5,        
        |        ШтатныеНадбавки.Валюта6,        
        |        NULL    КАК ВидУчетаВремениДляСредней

        |    ИЗ ВТЗамены КАК Замены

        |

        |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ " + ТекстЗапросаВТШтатноеРасписание + " КАК ШтатныеНадбавки    

        |    ПО        ШтатныеНадбавки.ПодразделениеОрганизации = Замены.ПодразделениеОрганизации

        |        И    ШтатныеНадбавки.Должность = Замены.Должность

        |        И    Замены.ДатаНачала <= ШтатныеНадбавки.ДатаОкончания

        |        И    ШтатныеНадбавки.ДатаНачала <= Замены.ДатаНачала

        |

        |

        |

        |    ОБЪЕДИНИТЬ ВСЕ

        |// (п.2.) Прочие плановые начисления по работникам кроме начислений по которым заменяли
        |    ВЫБРАТЬ

        |        РаботникиОрганизации.Сотрудник,

        |       ВЫБОР    КОГДА        Начисления.ДокументОснование ССЫЛКА Документ.ОплатаПоСреднемуЗаработку    
        |                       И    Начисления.ДокументОснование.Назначение <> ЗНАЧЕНИЕ(Справочник.СотрудникиОрганизаций.ПустаяСсылка)
        |                ТОГДА Начисления.ДокументОснование.Назначение
        |                ИНАЧЕ РаботникиОрганизации.Назначение
        |        КОНЕЦ                                     КАК Назначение,
        |        Начисления.ВидРасчета,

        |        ЛОЖЬ                                    КАК ОсновноеНачисление,

        |        Начисления.ДатаНачала,

        |        Начисления.ДатаОкончания,

        |       ВЫБОР КОГДА ДвиженияРаботников.ПодразделениеОрганизации    ЕСТЬ NULL

        |                ТОГДА Начисления.ДокументОснование.ПодразделениеОрганизации

        |             ИНАЧЕ

        |                ДвиженияРаботников.ПодразделениеОрганизации    

        |       КОНЕЦ                                                КАК ПодразделениеОрганизации,

        |

        |        ДвиженияРаботников.ГрафикРаботы,

        |        ДвиженияРаботников.Должность,

        |        Начисления.ДокументОснование,

        |

        |        Начисления.Показатель1,

        |        Начисления.Показатель2,

        |        Начисления.Показатель3,

        |        Начисления.Показатель4,
        |        Начисления.Показатель5,
        |        Начисления.Показатель6,
        |        Начисления.Валюта1,

        |        Начисления.Валюта2,

        |        Начисления.Валюта3,

        |        Начисления.Валюта4,        
        |        Начисления.Валюта5,        
        |        Начисления.Валюта6,        
        |        Начисления.ВидУчетаВремениДляСредней

        |

        |    ИЗ " + ТекстЗапросаВТСписокРаботники + " КАК РаботникиОрганизации

        |    

        |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ " + ТекстЗапросаВТПлановыеНачисления + " КАК Начисления    

        |    ПО        РаботникиОрганизации.Назначение = Начисления.Сотрудник    

        |        И    НЕ Начисления.ОсновноеНачисление

        |

        |    ЛЕВОЕ СОЕДИНЕНИЕ (    

        |        ВЫБРАТЬ

        |            ПлановыеНачисления.Сотрудник  КАК Сотрудник,

        |            ПлановыеНачисления.ВидРасчета  КАК ВидРасчета,

        |            ПлановыеНачисления.ДатаНачала  КАК ДатаНачала,

        |            МАКСИМУМ(Движения.ДатаНачала)  КАК АктуальнаяДата

        |        ИЗ " + ТекстЗапросаВТПлановыеНачисления + " КАК ПлановыеНачисления    

        |        ЛЕВОЕ СОЕДИНЕНИЕ  " + ТекстЗапросаВТДвиженияРаботников + " КАК Движения

        |       ПО        Движения.Сотрудник = ПлановыеНачисления.Сотрудник

        |            И    Движения.ДатаНачала <= ПлановыеНачисления.ДатаНачала

        |        ГДЕ    НЕ ПлановыеНачисления.ОсновноеНачисление

        |        СГРУППИРОВАТЬ ПО

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

        |            ПлановыеНачисления.ВидРасчета,

        |            ПлановыеНачисления.ДатаНачала

        |    ) КАК ПериодАктуальногоДвижения

        |    ПО         ПериодАктуальногоДвижения.Сотрудник = Начисления.Сотрудник

        |        И    ПериодАктуальногоДвижения.ВидРасчета = Начисления.ВидРасчета        

        |        И    ПериодАктуальногоДвижения.ДатаНачала = Начисления.ДатаНачала        

        |    

        |    ЛЕВОЕ СОЕДИНЕНИЕ  " + ТекстЗапросаВТДвиженияРаботников + " КАК ДвиженияРаботников

        |    ПО        ДвиженияРаботников.Сотрудник = РаботникиОрганизации.Назначение

        |        И    ПериодАктуальногоДвижения.АктуальнаяДата = ДвиженияРаботников.ДатаНачала

        |    ГДЕ
        |    Начисления.ВидРасчета.СпособРасчета НЕ В(&СпособыРасчета)
        |    ОБЪЕДИНИТЬ ВСЕ

        |// (п.1.) Надо вытеснить основной оклад если было Замещение

        |    ВЫБРАТЬ

        |        Замены.Сотрудник КАК Сотрудник,

        |        Замены.Сотрудник КАК Назначение,

        |        Замены.ВидРасчета,

        |        ЛОЖЬ                            КАК ОсновноеНачисление,

        |        Замены.ДатаНачала                КАК ДатаНачала,

        |        Замены.ДатаОкончания            КАК ДатаОкончания,

        |        Замены.ПодразделениеОрганизации,

        |        Замены.ГрафикРаботы,

        |        Замены.Должность,

        |        NULL КАК ДокументОснование,

        |

        |        NULL КАК Показатель1,

        |        NULL КАК Показатель2,

        |        NULL КАК Показатель3,

        |        NULL КАК Показатель4,
        |        NULL КАК Показатель5,
        |        NULL КАК Показатель6,
        |        &парамВалютаРегламентУчета КАК Валюта1,

        |        NULL КАК Валюта2,

        |        NULL КАК Валюта3,

        |        NULL КАК Валюта4,        
        |        NULL КАК Валюта5,        
        |        NULL КАК Валюта6,        
        |        NULL КАК ВидУчетаВремениДляСредней

        |

        |    ИЗ ВТЗамены КАК Замены

        |    

        |    ГДЕ Замены.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Замещение)
        |";

        Запрос.Текст = ТекстЗапросаВТ;

        Запрос.Выполнить();



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

kosalex Подменю пользователя
сообщение 22.12.14, 15:52
Сообщение #2

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

У остальных граждан этого форума такой проблемы в УПП нет?

alex040269 Подменю пользователя
сообщение 22.12.14, 16:54
Сообщение #3

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

для корректного начисления необходимо:
1) наличие документа ЗаменаОрганизаций
2) Наличие в табеле
Сотрудник - тот, кто работал
Назначение - тот, за кого рабтал
в соответсвующей дате нп 8, например.
3) наличие плановых начислений по ночным у того за кого работали.

не начисляет на каком этапе?
при заполнении документа НачислениеЗП есть ночные?


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

kosalex Подменю пользователя
сообщение 22.12.14, 18:08
Сообщение #4

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

Цитата(alex040269 @ 22.12.14, 16:54) *
для корректного начисления необходимо:
1) наличие документа ЗаменаОрганизаций
2) Наличие в табеле
Сотрудник - тот, кто работал
Назначение - тот, за кого рабтал
в соответсвующей дате нп 8, например.
3) наличие плановых начислений по ночным у того за кого работали.

не начисляет на каком этапе?
при заполнении документа НачислениеЗП есть ночные?

Док. ЗаменыОрганизации




Док. НачислениеЗПОрг.



Должны быть еще НочныеЧасы заменяемого у заменяющего.
Т.е. еще две строки внизу в ТЧ

Вот здесь,
 |// (п.2.) Прочие плановые начисления по работникам кроме начислений по которым заменяли
        |    ВЫБРАТЬ

        |        РаботникиОрганизации.Сотрудник,

        |       ВЫБОР    КОГДА        Начисления.ДокументОснование ССЫЛКА Документ.ОплатаПоСреднемуЗаработку    
        |                       И    Начисления.ДокументОснование.Назначение <> ЗНАЧЕНИЕ(Справочник.СотрудникиОрганизаций.ПустаяСсылка)
        |                ТОГДА Начисления.ДокументОснование.Назначение
        |                ИНАЧЕ РаботникиОрганизации.Назначение
        |        КОНЕЦ                                     КАК Назначение,
        |        Начисления.ВидРасчета,

        |        ЛОЖЬ                                    КАК ОсновноеНачисление,

        |        Начисления.ДатаНачала,

        |        Начисления.ДатаОкончания,

        |       ВЫБОР КОГДА ДвиженияРаботников.ПодразделениеОрганизации    ЕСТЬ NULL

        |                ТОГДА Начисления.ДокументОснование.ПодразделениеОрганизации

        |             ИНАЧЕ

        |                ДвиженияРаботников.ПодразделениеОрганизации    

        |       КОНЕЦ                                                КАК ПодразделениеОрганизации,

        |

        |        ДвиженияРаботников.ГрафикРаботы,

        |        ДвиженияРаботников.Должность,

        |        Начисления.ДокументОснование,

        |

        |        Начисления.Показатель1,

        |        Начисления.Показатель2,

        |        Начисления.Показатель3,

        |        Начисления.Показатель4,
        |        Начисления.Показатель5,
        |        Начисления.Показатель6,
        |        Начисления.Валюта1,

        |        Начисления.Валюта2,

        |        Начисления.Валюта3,

        |        Начисления.Валюта4,        
        |        Начисления.Валюта5,        
        |        Начисления.Валюта6,        
        |        Начисления.ВидУчетаВремениДляСредней

        |

        |    ИЗ " + ТекстЗапросаВТСписокРаботники + " КАК РаботникиОрганизации

        |    

        |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ " + ТекстЗапросаВТПлановыеНачисления + " КАК Начисления    

        |    ПО        РаботникиОрганизации.Назначение = Начисления.Сотрудник      //В РаботникиОрганизации есть только Заменяющий - тот кто заменяет)), наверное по этому и не тянуться его начисления или я не прав? :)

        |        И    НЕ Начисления.ОсновноеНачисление

alex040269 Подменю пользователя
сообщение 22.12.14, 18:12
Сообщение #5

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

похоже, что нет ночных в плановых начислениях


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

kosalex Подменю пользователя
сообщение 22.12.14, 18:21
Сообщение #6

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

Цитата(alex040269 @ 22.12.14, 18:12) *
похоже, что нет ночных в плановых начислениях


Один:


Второй:

kosalex Подменю пользователя
сообщение 23.12.14, 8:28
Сообщение #7

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

Вот виртуальная таблица ВТПлановыеНачисления:


А вот виртуальная таблица ВТВсеНачисления, в ней уже нет требуемых ночных часов, есть только оклад


После вот этого запроса, ночные часы пропадают:
ТекстЗапросаВТ = "

        |// (п.1.2.3.) Оклады по назначениям (основные, совместители) и штатные надбавки

        |    ВЫБРАТЬ РАЗРЕШЕННЫЕ

        |        РаботникиОрганизации.Сотрудник,

        |        РаботникиОрганизации.Назначение,

        |        ОсновныеНачисления.ВидРасчета,

        |        ИСТИНА                                            КАК ОсновноеНачисление,

        |        ВЫБОР КОГДА ДвиженияРаботников.ДатаНачала <= ОсновныеНачисления.ДатаНачала            ТОГДА ОсновныеНачисления.ДатаНачала        ИНАЧЕ ДвиженияРаботников.ДатаНачала        КОНЕЦ КАК ДатаНачала,

        |        ВЫБОР КОГДА ДвиженияРаботников.ДатаОкончания <= ОсновныеНачисления.ДатаОкончания    ТОГДА ДвиженияРаботников.ДатаОкончания    ИНАЧЕ ОсновныеНачисления.ДатаОкончания    КОНЕЦ КАК ДатаОкончания,

        |        ДвиженияРаботников.ПодразделениеОрганизации,

        |        ДвиженияРаботников.ГрафикРаботы,

        |        ДвиженияРаботников.Должность,

        //|        NULL                                            КАК ДокументОснование,
        |        ОсновныеНачисления.ДокументОснование    КАК ДокументОснование,
        |

        |        ОсновныеНачисления.Показатель1,

        |        ОсновныеНачисления.Показатель2,

        |        ОсновныеНачисления.Показатель3,

        |        ОсновныеНачисления.Показатель4,
        |        ОсновныеНачисления.Показатель5,
        |        ОсновныеНачисления.Показатель6,
        |        ОсновныеНачисления.Валюта1,

        |        ОсновныеНачисления.Валюта2,

        |        ОсновныеНачисления.Валюта3,

        |        ОсновныеНачисления.Валюта4,        
        |        ОсновныеНачисления.Валюта5,        
        |        ОсновныеНачисления.Валюта6,        
        |        ОсновныеНачисления.ВидУчетаВремениДляСредней    КАК ВидУчетаВремениДляСредней

        |ПОМЕСТИТЬ ВТВсеНачисления    

        |    ИЗ " + ТекстЗапросаВТСписокРаботники + " КАК РаботникиОрганизации

        |    

        |    ЛЕВОЕ СОЕДИНЕНИЕ " + ТекстЗапросаВТДвиженияРаботников + " КАК ДвиженияРаботников    

        |    ПО        РаботникиОрганизации.Назначение = ДвиженияРаботников.Сотрудник    

        |

        |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ " + ТекстЗапросаВТПлановыеНачисления + " КАК ОсновныеНачисления    

        |    ПО        РаботникиОрганизации.Назначение = ОсновныеНачисления.Сотрудник    

        |        И    (ОсновныеНачисления.ОсновноеНачисление
        |        ИЛИ    ОсновныеНачисления.ВидРасчета.СпособРасчета В(&СпособыРасчета))
        |        И    ДвиженияРаботников.ДатаНачала <= ОсновныеНачисления.ДатаОкончания

        |        И    ОсновныеНачисления.ДатаНачала <= ДвиженияРаботников.ДатаОкончания

        |

        |

        |    ОБЪЕДИНИТЬ ВСЕ

        |// (п.1.2.3.) Оклады заменам

        |    ВЫБРАТЬ

        |        Замены.Сотрудник,

        |        Замены.Назначение,

        |        ОсновныеНачисления.ВидРасчета,

        |        ИСТИНА                            КАК ОсновноеНачисление,

        |        Замены.ДатаНачала                КАК ДатаНачала,

        |        Замены.ДатаОкончания            КАК ДатаОкончания,

        |        Замены.ПодразделениеОрганизации,

        |        Замены.ГрафикРаботы,

        |        Замены.Должность,

        |        Замены.ДокументОснование        КАК ДокументОснование,

        |        ОсновныеНачисления.Показатель1,

        |        ОсновныеНачисления.Показатель2,

        |        ОсновныеНачисления.Показатель3,

        |        ОсновныеНачисления.Показатель4,
        |        ОсновныеНачисления.Показатель5,
        |        ОсновныеНачисления.Показатель5,
        |        ОсновныеНачисления.Валюта1,

        |        ОсновныеНачисления.Валюта2,

        |        ОсновныеНачисления.Валюта3,

        |        ОсновныеНачисления.Валюта4,        
        |        ОсновныеНачисления.Валюта5,        
        |        ОсновныеНачисления.Валюта6,        
        |        ОсновныеНачисления.ВидУчетаВремениДляСредней    КАК ВидУчетаВремениДляСредней

        |    ИЗ ВТЗамены КАК Замены

        |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ " + ТекстЗапросаВТПлановыеНачисления + " КАК ОсновныеНачисления    

        |    ПО        Замены.Назначение = ОсновныеНачисления.Сотрудник    

        |        И    ОсновныеНачисления.ОсновноеНачисление

        |       // данные на начало замены

        |        И    Замены.ДатаНачала <= ОсновныеНачисления.ДатаОкончания

        |        И    ОсновныеНачисления.ДатаНачала <= Замены.ДатаНачала

        |

        |

        |    ОБЪЕДИНИТЬ ВСЕ

        |// (п.1.) Основные, совместители и их штатные надбавки

        |    ВЫБРАТЬ

        |        РаботникиОрганизации.Сотрудник,

        |        РаботникиОрганизации.Назначение,

        |        ШтатныеНадбавки.ВидРасчета,

        |        ЛОЖЬ                                            КАК ОсновноеНачисление,

        |        ВЫБОР КОГДА ДвиженияРаботников.ДатаНачала <= ШтатныеНадбавки.ДатаНачала            ТОГДА ШтатныеНадбавки.ДатаНачала        ИНАЧЕ ДвиженияРаботников.ДатаНачала КОНЕЦ КАК ДатаНачала,

        |        ВЫБОР КОГДА ДвиженияРаботников.ДатаОкончания <= ШтатныеНадбавки.ДатаОкончания    ТОГДА ДвиженияРаботников.ДатаОкончания    ИНАЧЕ ШтатныеНадбавки.ДатаОкончания    КОНЕЦ КАК ДатаОкончания,

        |        ДвиженияРаботников.ПодразделениеОрганизации        КАК ПодразделениеОрганизации,

        |        ДвиженияРаботников.ГрафикРаботы,

        |        ДвиженияРаботников.Должность,

        |        NULL                                            КАК ДокументОснование,

        |

        |        ШтатныеНадбавки.Показатель1,

        |        ШтатныеНадбавки.Показатель2,

        |        ШтатныеНадбавки.Показатель3,

        |        ШтатныеНадбавки.Показатель4,
        |        ШтатныеНадбавки.Показатель5,
        |        ШтатныеНадбавки.Показатель6,
        |        ШтатныеНадбавки.Валюта1,

        |        ШтатныеНадбавки.Валюта2,

        |        ШтатныеНадбавки.Валюта3,

        |        ШтатныеНадбавки.Валюта4,        
        |        ШтатныеНадбавки.Валюта5,        
        |        ШтатныеНадбавки.Валюта6,        
        |        NULL    КАК ВидУчетаВремениДляСредней

        |    ИЗ " + ТекстЗапросаВТСписокРаботники + " КАК РаботникиОрганизации

        |    

        |    ЛЕВОЕ СОЕДИНЕНИЕ " + ТекстЗапросаВТДвиженияРаботников + " КАК ДвиженияРаботников    

        |    ПО        РаботникиОрганизации.Назначение = ДвиженияРаботников.Сотрудник    

        |

        |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ " + ТекстЗапросаВТШтатноеРасписание + " КАК ШтатныеНадбавки    

        |    ПО        ШтатныеНадбавки.ПодразделениеОрганизации = ДвиженияРаботников.ПодразделениеОрганизации

        |        И    ШтатныеНадбавки.Должность = ДвиженияРаботников.Должность

        |        И    ДвиженияРаботников.ДатаНачала <= ШтатныеНадбавки.ДатаОкончания

        |        И    ШтатныеНадбавки.ДатаНачала <= ДвиженияРаботников.ДатаОкончания

        |

        |

        |    ОБЪЕДИНИТЬ ВСЕ

        |// (п.1.) Замены и их штатные надбавки

        |    ВЫБРАТЬ

        |        Замены.Сотрудник,

        |        Замены.Назначение,

        |        ШтатныеНадбавки.ВидРасчета,

        |        ЛОЖЬ                            КАК ОсновноеНачисление,

        |        Замены.ДатаНачала                КАК ДатаНачала,

        |        Замены.ДатаОкончания            КАК ДатаОкончания,

        |        Замены.ПодразделениеОрганизации,

        |        Замены.ГрафикРаботы,

        |        Замены.Должность,

        |        NULL                            КАК ДокументОснование,

        |        ШтатныеНадбавки.Показатель1,

        |        ШтатныеНадбавки.Показатель2,

        |        ШтатныеНадбавки.Показатель3,

        |        ШтатныеНадбавки.Показатель4,
        |        ШтатныеНадбавки.Показатель5,
        |        ШтатныеНадбавки.Показатель6,
        |        ШтатныеНадбавки.Валюта1,

        |        ШтатныеНадбавки.Валюта2,

        |        ШтатныеНадбавки.Валюта3,

        |        ШтатныеНадбавки.Валюта4,        
        |        ШтатныеНадбавки.Валюта5,        
        |        ШтатныеНадбавки.Валюта6,        
        |        NULL    КАК ВидУчетаВремениДляСредней

        |    ИЗ ВТЗамены КАК Замены

        |

        |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ " + ТекстЗапросаВТШтатноеРасписание + " КАК ШтатныеНадбавки    

        |    ПО        ШтатныеНадбавки.ПодразделениеОрганизации = Замены.ПодразделениеОрганизации

        |        И    ШтатныеНадбавки.Должность = Замены.Должность

        |        И    Замены.ДатаНачала <= ШтатныеНадбавки.ДатаОкончания

        |        И    ШтатныеНадбавки.ДатаНачала <= Замены.ДатаНачала

        |

        |

        |

        |    ОБЪЕДИНИТЬ ВСЕ

        |// (п.2.) Прочие плановые начисления по работникам кроме начислений по которым заменяли
        |    ВЫБРАТЬ

        |        РаботникиОрганизации.Сотрудник,

        |       ВЫБОР    КОГДА        Начисления.ДокументОснование ССЫЛКА Документ.ОплатаПоСреднемуЗаработку    
        |                       И    Начисления.ДокументОснование.Назначение <> ЗНАЧЕНИЕ(Справочник.СотрудникиОрганизаций.ПустаяСсылка)
        |                ТОГДА Начисления.ДокументОснование.Назначение
        |                ИНАЧЕ РаботникиОрганизации.Назначение
        |        КОНЕЦ                                     КАК Назначение,
        |        Начисления.ВидРасчета,

        |        ЛОЖЬ                                    КАК ОсновноеНачисление,

        |        Начисления.ДатаНачала,

        |        Начисления.ДатаОкончания,

        |       ВЫБОР КОГДА ДвиженияРаботников.ПодразделениеОрганизации    ЕСТЬ NULL

        |                ТОГДА Начисления.ДокументОснование.ПодразделениеОрганизации

        |             ИНАЧЕ

        |                ДвиженияРаботников.ПодразделениеОрганизации    

        |       КОНЕЦ                                                КАК ПодразделениеОрганизации,

        |

        |        ДвиженияРаботников.ГрафикРаботы,

        |        ДвиженияРаботников.Должность,

        |        Начисления.ДокументОснование,

        |

        |        Начисления.Показатель1,

        |        Начисления.Показатель2,

        |        Начисления.Показатель3,

        |        Начисления.Показатель4,
        |        Начисления.Показатель5,
        |        Начисления.Показатель6,
        |        Начисления.Валюта1,

        |        Начисления.Валюта2,

        |        Начисления.Валюта3,

        |        Начисления.Валюта4,        
        |        Начисления.Валюта5,        
        |        Начисления.Валюта6,        
        |        Начисления.ВидУчетаВремениДляСредней

        |

        |    ИЗ " + ТекстЗапросаВТСписокРаботники + " КАК РаботникиОрганизации

        |    

        |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ " + ТекстЗапросаВТПлановыеНачисления + " КАК Начисления    

        |    ПО        РаботникиОрганизации.Назначение = Начисления.Сотрудник    

        |        И    НЕ Начисления.ОсновноеНачисление

        |

        |    ЛЕВОЕ СОЕДИНЕНИЕ (    

        |        ВЫБРАТЬ

        |            ПлановыеНачисления.Сотрудник  КАК Сотрудник,

        |            ПлановыеНачисления.ВидРасчета  КАК ВидРасчета,

        |            ПлановыеНачисления.ДатаНачала  КАК ДатаНачала,

        |            МАКСИМУМ(Движения.ДатаНачала)  КАК АктуальнаяДата

        |        ИЗ " + ТекстЗапросаВТПлановыеНачисления + " КАК ПлановыеНачисления    

        |        ЛЕВОЕ СОЕДИНЕНИЕ  " + ТекстЗапросаВТДвиженияРаботников + " КАК Движения

        |       ПО        Движения.Сотрудник = ПлановыеНачисления.Сотрудник

        |            И    Движения.ДатаНачала <= ПлановыеНачисления.ДатаНачала

        |        ГДЕ    НЕ ПлановыеНачисления.ОсновноеНачисление

        |        СГРУППИРОВАТЬ ПО

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

        |            ПлановыеНачисления.ВидРасчета,

        |            ПлановыеНачисления.ДатаНачала

        |    ) КАК ПериодАктуальногоДвижения

        |    ПО         ПериодАктуальногоДвижения.Сотрудник = Начисления.Сотрудник

        |        И    ПериодАктуальногоДвижения.ВидРасчета = Начисления.ВидРасчета        

        |        И    ПериодАктуальногоДвижения.ДатаНачала = Начисления.ДатаНачала        

        |    

        |    ЛЕВОЕ СОЕДИНЕНИЕ  " + ТекстЗапросаВТДвиженияРаботников + " КАК ДвиженияРаботников

        |    ПО        ДвиженияРаботников.Сотрудник = РаботникиОрганизации.Назначение

        |        И    ПериодАктуальногоДвижения.АктуальнаяДата = ДвиженияРаботников.ДатаНачала

        |    ГДЕ
        |    Начисления.ВидРасчета.СпособРасчета НЕ В(&СпособыРасчета)
        |    ОБЪЕДИНИТЬ ВСЕ

        |// (п.1.) Надо вытеснить основной оклад если было Замещение

        |    ВЫБРАТЬ

        |        Замены.Сотрудник КАК Сотрудник,

        |        Замены.Сотрудник КАК Назначение,

        |        Замены.ВидРасчета,

        |        ЛОЖЬ                            КАК ОсновноеНачисление,

        |        Замены.ДатаНачала                КАК ДатаНачала,

        |        Замены.ДатаОкончания            КАК ДатаОкончания,

        |        Замены.ПодразделениеОрганизации,

        |        Замены.ГрафикРаботы,

        |        Замены.Должность,

        |        NULL КАК ДокументОснование,

        |

        |        NULL КАК Показатель1,

        |        NULL КАК Показатель2,

        |        NULL КАК Показатель3,

        |        NULL КАК Показатель4,
        |        NULL КАК Показатель5,
        |        NULL КАК Показатель6,
        |        &парамВалютаРегламентУчета КАК Валюта1,

        |        NULL КАК Валюта2,

        |        NULL КАК Валюта3,

        |        NULL КАК Валюта4,        
        |        NULL КАК Валюта5,        
        |        NULL КАК Валюта6,        
        |        NULL КАК ВидУчетаВремениДляСредней

        |

        |    ИЗ ВТЗамены КАК Замены

        |    

        |    ГДЕ Замены.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Замещение)
        |";

        Запрос.Текст = ТекстЗапросаВТ;

        Запрос.Выполнить();


График сменный, график при замещении не меняется.

kosalex Подменю пользователя
сообщение 23.12.14, 12:04
Сообщение #8

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

Сделал так, работает:
 ОкладПоЧасам = Перечисления.СпособыРасчетаОплатыТруда.ПоМесячнойТарифнойСтавкеПоЧасам;
     НочныеЧасы = Перечисления.СпособыРасчетаОплатыТруда.ДоплатаЗаНочныеЧасы;
     ВечерниеЧасы = Перечисления.СпособыРасчетаОплатыТруда.ДоплатаЗаВечерниеЧасы;
    
    
     Запрос.УстановитьПараметр("парамНочныеЧасы",НочныеЧасы);
     Запрос.УстановитьПараметр("парамВечерниеЧасы",ВечерниеЧасы);
     Запрос.УстановитьПараметр("парамОкладПоЧасам",ОкладПоЧасам);


Правка запроса:
ТекстЗапросаВТ = "

        |// (п.1.2.3.) Оклады по назначениям (основные, совместители) и штатные надбавки

        |    ВЫБРАТЬ РАЗРЕШЕННЫЕ

        |        РаботникиОрганизации.Сотрудник,

        |        РаботникиОрганизации.Назначение,

        |        ОсновныеНачисления.ВидРасчета,

        |        ИСТИНА                                            КАК ОсновноеНачисление,

        |        ВЫБОР КОГДА ДвиженияРаботников.ДатаНачала <= ОсновныеНачисления.ДатаНачала            ТОГДА ОсновныеНачисления.ДатаНачала        ИНАЧЕ ДвиженияРаботников.ДатаНачала        КОНЕЦ КАК ДатаНачала,

        |        ВЫБОР КОГДА ДвиженияРаботников.ДатаОкончания <= ОсновныеНачисления.ДатаОкончания    ТОГДА ДвиженияРаботников.ДатаОкончания    ИНАЧЕ ОсновныеНачисления.ДатаОкончания    КОНЕЦ КАК ДатаОкончания,

        |        ДвиженияРаботников.ПодразделениеОрганизации,

        |        ДвиженияРаботников.ГрафикРаботы,

        |        ДвиженияРаботников.Должность,

        //|        NULL                                            КАК ДокументОснование,
        |        ОсновныеНачисления.ДокументОснование    КАК ДокументОснование,
        |

        |        ОсновныеНачисления.Показатель1,

        |        ОсновныеНачисления.Показатель2,

        |        ОсновныеНачисления.Показатель3,

        |        ОсновныеНачисления.Показатель4,
        |        ОсновныеНачисления.Показатель5,
        |        ОсновныеНачисления.Показатель6,
        |        ОсновныеНачисления.Валюта1,

        |        ОсновныеНачисления.Валюта2,

        |        ОсновныеНачисления.Валюта3,

        |        ОсновныеНачисления.Валюта4,        
        |        ОсновныеНачисления.Валюта5,        
        |        ОсновныеНачисления.Валюта6,        
        |        ОсновныеНачисления.ВидУчетаВремениДляСредней    КАК ВидУчетаВремениДляСредней

        |ПОМЕСТИТЬ ВТВсеНачисления    

        |    ИЗ " + ТекстЗапросаВТСписокРаботники + " КАК РаботникиОрганизации

        |    

        |    ЛЕВОЕ СОЕДИНЕНИЕ " + ТекстЗапросаВТДвиженияРаботников + " КАК ДвиженияРаботников    

        |    ПО        РаботникиОрганизации.Назначение = ДвиженияРаботников.Сотрудник    

        |

        |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ " + ТекстЗапросаВТПлановыеНачисления + " КАК ОсновныеНачисления    

        |    ПО        РаботникиОрганизации.Назначение = ОсновныеНачисления.Сотрудник    

        |        И    (ОсновныеНачисления.ОсновноеНачисление
        |        ИЛИ    ОсновныеНачисления.ВидРасчета.СпособРасчета В(&СпособыРасчета))
        |        И    ДвиженияРаботников.ДатаНачала <= ОсновныеНачисления.ДатаОкончания

        |        И    ОсновныеНачисления.ДатаНачала <= ДвиженияРаботников.ДатаОкончания

        |

        |

        |    ОБЪЕДИНИТЬ ВСЕ

        |// (п.1.2.3.) Оклады заменам

        |    ВЫБРАТЬ

        |        Замены.Сотрудник,

        |        Замены.Назначение,

        |        ОсновныеНачисления.ВидРасчета,

        |        ИСТИНА                            КАК ОсновноеНачисление,

        |        Замены.ДатаНачала                КАК ДатаНачала,

        |        Замены.ДатаОкончания            КАК ДатаОкончания,

        |        Замены.ПодразделениеОрганизации,

        |        Замены.ГрафикРаботы,

        |        Замены.Должность,

        |        Замены.ДокументОснование        КАК ДокументОснование,

        |        ОсновныеНачисления.Показатель1,

        |        ОсновныеНачисления.Показатель2,

        |        ОсновныеНачисления.Показатель3,

        |        ОсновныеНачисления.Показатель4,
        |        ОсновныеНачисления.Показатель5,
        |        ОсновныеНачисления.Показатель5,
        |        ОсновныеНачисления.Валюта1,

        |        ОсновныеНачисления.Валюта2,

        |        ОсновныеНачисления.Валюта3,

        |        ОсновныеНачисления.Валюта4,        
        |        ОсновныеНачисления.Валюта5,        
        |        ОсновныеНачисления.Валюта6,        
        |        ОсновныеНачисления.ВидУчетаВремениДляСредней    КАК ВидУчетаВремениДляСредней

        |    ИЗ ВТЗамены КАК Замены

        |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ " + ТекстЗапросаВТПлановыеНачисления + " КАК ОсновныеНачисления    

        |    ПО        Замены.Назначение = ОсновныеНачисления.Сотрудник    

        //|        И    ОсновныеНачисления.ОсновноеНачисление //ЗАКОММЕНТИОРВАЛ ЭТО!!!
        
        //ДОБАВИЛ ВОТ ЭТОТ КОД В ЗАПРОС
                |++
        |        И (ОсновныеНачисления.ВидРасчета.СпособРасчета =  &парамНочныеЧасы
        |            ИЛИ ОсновныеНачисления.ВидРасчета.СпособРасчета =  &парамВечерниеЧасы
        |            ИЛИ ОсновныеНачисления.ВидРасчета.СпособРасчета =  &парамОкладПоЧасам)
        //--
        |       // данные на начало замены

        |        И    Замены.ДатаНачала <= ОсновныеНачисления.ДатаОкончания

        |        И    ОсновныеНачисления.ДатаНачала <= Замены.ДатаНачала

        |

        |

        |    ОБЪЕДИНИТЬ ВСЕ

        |// (п.1.) Основные, совместители и их штатные надбавки

        |    ВЫБРАТЬ

        |        РаботникиОрганизации.Сотрудник,

        |        РаботникиОрганизации.Назначение,

        |        ШтатныеНадбавки.ВидРасчета,

        |        ЛОЖЬ                                            КАК ОсновноеНачисление,

        |        ВЫБОР КОГДА ДвиженияРаботников.ДатаНачала <= ШтатныеНадбавки.ДатаНачала            ТОГДА ШтатныеНадбавки.ДатаНачала        ИНАЧЕ ДвиженияРаботников.ДатаНачала КОНЕЦ КАК ДатаНачала,

        |        ВЫБОР КОГДА ДвиженияРаботников.ДатаОкончания <= ШтатныеНадбавки.ДатаОкончания    ТОГДА ДвиженияРаботников.ДатаОкончания    ИНАЧЕ ШтатныеНадбавки.ДатаОкончания    КОНЕЦ КАК ДатаОкончания,

        |        ДвиженияРаботников.ПодразделениеОрганизации        КАК ПодразделениеОрганизации,

        |        ДвиженияРаботников.ГрафикРаботы,

        |        ДвиженияРаботников.Должность,

        |        NULL                                            КАК ДокументОснование,

        |

        |        ШтатныеНадбавки.Показатель1,

        |        ШтатныеНадбавки.Показатель2,

        |        ШтатныеНадбавки.Показатель3,

        |        ШтатныеНадбавки.Показатель4,
        |        ШтатныеНадбавки.Показатель5,
        |        ШтатныеНадбавки.Показатель6,
        |        ШтатныеНадбавки.Валюта1,

        |        ШтатныеНадбавки.Валюта2,

        |        ШтатныеНадбавки.Валюта3,

        |        ШтатныеНадбавки.Валюта4,        
        |        ШтатныеНадбавки.Валюта5,        
        |        ШтатныеНадбавки.Валюта6,        
        |        NULL    КАК ВидУчетаВремениДляСредней

        |    ИЗ " + ТекстЗапросаВТСписокРаботники + " КАК РаботникиОрганизации

        |    

        |    ЛЕВОЕ СОЕДИНЕНИЕ " + ТекстЗапросаВТДвиженияРаботников + " КАК ДвиженияРаботников    

        |    ПО        РаботникиОрганизации.Назначение = ДвиженияРаботников.Сотрудник    

        |

        |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ " + ТекстЗапросаВТШтатноеРасписание + " КАК ШтатныеНадбавки    

        |    ПО        ШтатныеНадбавки.ПодразделениеОрганизации = ДвиженияРаботников.ПодразделениеОрганизации

        |        И    ШтатныеНадбавки.Должность = ДвиженияРаботников.Должность

        |        И    ДвиженияРаботников.ДатаНачала <= ШтатныеНадбавки.ДатаОкончания

        |        И    ШтатныеНадбавки.ДатаНачала <= ДвиженияРаботников.ДатаОкончания

        |

        |

        |    ОБЪЕДИНИТЬ ВСЕ

        |// (п.1.) Замены и их штатные надбавки

        |    ВЫБРАТЬ

        |        Замены.Сотрудник,

        |        Замены.Назначение,

        |        ШтатныеНадбавки.ВидРасчета,

        |        ЛОЖЬ                            КАК ОсновноеНачисление,

        |        Замены.ДатаНачала                КАК ДатаНачала,

        |        Замены.ДатаОкончания            КАК ДатаОкончания,

        |        Замены.ПодразделениеОрганизации,

        |        Замены.ГрафикРаботы,

        |        Замены.Должность,

        |        NULL                            КАК ДокументОснование,

        |        ШтатныеНадбавки.Показатель1,

        |        ШтатныеНадбавки.Показатель2,

        |        ШтатныеНадбавки.Показатель3,

        |        ШтатныеНадбавки.Показатель4,
        |        ШтатныеНадбавки.Показатель5,
        |        ШтатныеНадбавки.Показатель6,
        |        ШтатныеНадбавки.Валюта1,

        |        ШтатныеНадбавки.Валюта2,

        |        ШтатныеНадбавки.Валюта3,

        |        ШтатныеНадбавки.Валюта4,        
        |        ШтатныеНадбавки.Валюта5,        
        |        ШтатныеНадбавки.Валюта6,        
        |        NULL    КАК ВидУчетаВремениДляСредней

        |    ИЗ ВТЗамены КАК Замены

        |

        |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ " + ТекстЗапросаВТШтатноеРасписание + " КАК ШтатныеНадбавки    

        |    ПО        ШтатныеНадбавки.ПодразделениеОрганизации = Замены.ПодразделениеОрганизации

        |        И    ШтатныеНадбавки.Должность = Замены.Должность

        |        И    Замены.ДатаНачала <= ШтатныеНадбавки.ДатаОкончания

        |        И    ШтатныеНадбавки.ДатаНачала <= Замены.ДатаНачала

        |

        |

        |

        |    ОБЪЕДИНИТЬ ВСЕ

        |// (п.2.) Прочие плановые начисления по работникам кроме начислений по которым заменяли
        |    ВЫБРАТЬ

        |        РаботникиОрганизации.Сотрудник,

        |       ВЫБОР    КОГДА        Начисления.ДокументОснование ССЫЛКА Документ.ОплатаПоСреднемуЗаработку    
        |                       И    Начисления.ДокументОснование.Назначение <> ЗНАЧЕНИЕ(Справочник.СотрудникиОрганизаций.ПустаяСсылка)
        |                ТОГДА Начисления.ДокументОснование.Назначение
        |                ИНАЧЕ РаботникиОрганизации.Назначение
        |        КОНЕЦ                                     КАК Назначение,
        |        Начисления.ВидРасчета,

        |        ЛОЖЬ                                    КАК ОсновноеНачисление,

        |        Начисления.ДатаНачала,

        |        Начисления.ДатаОкончания,

        |       ВЫБОР КОГДА ДвиженияРаботников.ПодразделениеОрганизации    ЕСТЬ NULL

        |                ТОГДА Начисления.ДокументОснование.ПодразделениеОрганизации

        |             ИНАЧЕ

        |                ДвиженияРаботников.ПодразделениеОрганизации    

        |       КОНЕЦ                                                КАК ПодразделениеОрганизации,

        |

        |        ДвиженияРаботников.ГрафикРаботы,

        |        ДвиженияРаботников.Должность,

        |        Начисления.ДокументОснование,

        |

        |        Начисления.Показатель1,

        |        Начисления.Показатель2,

        |        Начисления.Показатель3,

        |        Начисления.Показатель4,
        |        Начисления.Показатель5,
        |        Начисления.Показатель6,
        |        Начисления.Валюта1,

        |        Начисления.Валюта2,

        |        Начисления.Валюта3,

        |        Начисления.Валюта4,        
        |        Начисления.Валюта5,        
        |        Начисления.Валюта6,        
        |        Начисления.ВидУчетаВремениДляСредней

        |

        |    ИЗ " + ТекстЗапросаВТСписокРаботники + " КАК РаботникиОрганизации
        
        |    

        |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ " + ТекстЗапросаВТПлановыеНачисления + " КАК Начисления    

        |    ПО        РаботникиОрганизации.Назначение = Начисления.Сотрудник    

        |        И    НЕ Начисления.ОсновноеНачисление
        
        |

        |    ЛЕВОЕ СОЕДИНЕНИЕ (    

        |        ВЫБРАТЬ

        |            ПлановыеНачисления.Сотрудник  КАК Сотрудник,

        |            ПлановыеНачисления.ВидРасчета  КАК ВидРасчета,

        |            ПлановыеНачисления.ДатаНачала  КАК ДатаНачала,

        |            МАКСИМУМ(Движения.ДатаНачала)  КАК АктуальнаяДата

        |        ИЗ " + ТекстЗапросаВТПлановыеНачисления + " КАК ПлановыеНачисления    

        |        ЛЕВОЕ СОЕДИНЕНИЕ  " + ТекстЗапросаВТДвиженияРаботников + " КАК Движения

        |       ПО        Движения.Сотрудник = ПлановыеНачисления.Сотрудник

        |            И    Движения.ДатаНачала <= ПлановыеНачисления.ДатаНачала

        |        ГДЕ    НЕ ПлановыеНачисления.ОсновноеНачисление
        
        |        СГРУППИРОВАТЬ ПО

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

        |            ПлановыеНачисления.ВидРасчета,

        |            ПлановыеНачисления.ДатаНачала

        |    ) КАК ПериодАктуальногоДвижения

        |    ПО         ПериодАктуальногоДвижения.Сотрудник = Начисления.Сотрудник

        |        И    ПериодАктуальногоДвижения.ВидРасчета = Начисления.ВидРасчета        

        |        И    ПериодАктуальногоДвижения.ДатаНачала = Начисления.ДатаНачала        

        |    

        |    ЛЕВОЕ СОЕДИНЕНИЕ  " + ТекстЗапросаВТДвиженияРаботников + " КАК ДвиженияРаботников

        |    ПО        ДвиженияРаботников.Сотрудник = РаботникиОрганизации.Назначение

        |        И    ПериодАктуальногоДвижения.АктуальнаяДата = ДвиженияРаботников.ДатаНачала

        |    ГДЕ
        |    Начисления.ВидРасчета.СпособРасчета НЕ В(&СпособыРасчета)
        |    ОБЪЕДИНИТЬ ВСЕ

        |// (п.1.) Надо вытеснить основной оклад если было Замещение

        |    ВЫБРАТЬ

        |        Замены.Сотрудник КАК Сотрудник,

        |        Замены.Сотрудник КАК Назначение,

        |        Замены.ВидРасчета,

        |        ЛОЖЬ                            КАК ОсновноеНачисление,

        |        Замены.ДатаНачала                КАК ДатаНачала,

        |        Замены.ДатаОкончания            КАК ДатаОкончания,

        |        Замены.ПодразделениеОрганизации,

        |        Замены.ГрафикРаботы,

        |        Замены.Должность,

        |        NULL КАК ДокументОснование,

        |

        |        NULL КАК Показатель1,

        |        NULL КАК Показатель2,

        |        NULL КАК Показатель3,

        |        NULL КАК Показатель4,
        |        NULL КАК Показатель5,
        |        NULL КАК Показатель6,
        |        &парамВалютаРегламентУчета КАК Валюта1,

        |        NULL КАК Валюта2,

        |        NULL КАК Валюта3,

        |        NULL КАК Валюта4,        
        |        NULL КАК Валюта5,        
        |        NULL КАК Валюта6,        
        |        NULL КАК ВидУчетаВремениДляСредней

        |

        |    ИЗ ВТЗамены КАК Замены

        |    

        |    ГДЕ Замены.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Замещение)
        |";

        Запрос.Текст = ТекстЗапросаВТ;

        Запрос.Выполнить();



Вопрос, я сделал правильно?)))Или есть другие варианты?

Второй вопрос, почему если написать мой код вот так:
МассивСпособовРасчета = Новый Массив(2);
    МассивСпособовРасчета[0] = Перечисления.СпособыРасчетаОплатыТруда.ДоплатаЗаВечерниеЧасы;
    МассивСпособовРасчета[1] = Перечисления.СпособыРасчетаОплатыТруда.ДоплатаЗаНочныеЧасы;
    Запрос.УстановитьПараметр("СпособыРасчета", МассивСпособовРасчета);


и в запросе вот так:

запрос тот что выше...........
|ОсновныеНачисления.ВидРасчета.СпособРасчета В (&СпособыРасчета)
................

не отрабатывает как надо, в чем разница?


Еще вопрос (( При коде выше работает, но у заменяющего - тот кто заменяет, есть отпуск без оплаты, при начислении этот отпуск без оплаты не видет...

kosalex Подменю пользователя
сообщение 23.12.14, 15:55
Сообщение #9

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

Люди добрые и злые,у Вас работает данный механизм?ааауууу помогите...

star Подменю пользователя
сообщение 23.12.14, 16:23
Сообщение #10

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

Почему вы не зададите этот вопрос на линию консультации 1С? На нашем предприятии документом "Замены организации" не пользуются. Вот что нашла на ИТС диске

"В типовых конфигурациях «Управление производственным предприятием для Украины» и «Зарплата и Управление Персоналом для Украины» возможно отразить несколько вариантов оплаты за замещение.

Полная замена, когда работник заменяет своего коллегу и не выполняет свои служебные обязанности.
Частичная замена, когда работник, наряду с основной работой, выполняет обязанности временно отсутствующего работника и ему начисляется доплата в размере, предусмотренном в коллективном договоре.
Для отражения фактов замещения временно отсутствующих работников и регистрации необходимости произвести доплату за исполнение обязанностей временно отсутствующего работника в конфигурациях предназначен документ «Замены организаций». Вид расчета, определяющий правила расчета сумм оплаты за замещение определяется в поле «Вид замены». Возможны следующие варианты заполнения данного поля:

«Замещение». При расчете зарплаты будет произведено начисление только по данному виду расчета, сумма будет рассчитана, исходя из размера оплаты замещаемого работника. Основное начисление замещающего работника будет вытеснено видом расчета "Замещение".
«Совмещение». При расчете зарплаты будет произведено начисление по основному виду расчета замещающего работника и по данному виду расчета. Сумма по виду расчета «Совмещение» будет рассчитана, исходя из размера оплаты замещаемого работника и процента оплаты.
Величина оплаты определяется графиком работы. Если замена выполняется в полной мере, то график следует оставить такой который был у работника, которого заменяют. Но если замена выполняется только на часть ставки, то необходимо создать специальный график "сокращенного рабочего времени". В нем необходимо отразить реальное время работы на замещаемой должности и в качестве реквизита "График полного рабочего времени" указать полный график работы на этой должности.


Важно!
В конфигурации используются два вида учета времени: по дням (сменам) и по часам. Для каждого способа расчета анализируется только один из видов времени (либо "По дням", либо "По часам", "По вечерним" или "По ночным").
Если оформляется замена по способу расчета, который рассчитывается по сменам, часы работы в расчете не используются.
Поэтому, если отработанное время по замещаемому сотруднику учитывается по дням, то для оформления замены «Совмещение» на процент от ставки замещаемого следует:
либо оформить график замены таким образом, чтобы количество дней замены было в 2 раза меньше;
либо назначать работникам (замещаемому и замещающему) оклады "По месячной ставке по часам".
Окончательный расчет заработной платы производится документом «Начисление зарплаты работникам организаций». Если в организации издается приказ о замещении на несколько периодов (например, при переходящем отпуске), то достаточно ввести один документ «Замены работников организаций», указав в нем весь период отсутствия (например, с 20.01.2008 по 20.02.2008). После этого, при расчете заработной платы за каждый месяц (январь и февраль), будет производиться расчет доплаты......."

"........Рассмотрим методику отражения вариантов замен в типовых конфигурациях.

1. Полная замена.

Оклад замещаемого работника больше, чем у сотрудника, который его замещает. В этом случае необходимо отразить замену работы с помощью документа «Замены организаций», указав вид замены «Замещение». В поле «График работ» следует оставить график замещаемого работника.

При расчете заработной платы для сотрудника будет добавлен вид расчета «Замещение», вытесняющий основное начисление, и основное начисление по заменяемому работнику.

Оклад замещаемого работника меньше, чем у сотрудника, который его замещает.

В этом случае необходимо:

отразить замену работы с помощью документа «Замены организаций», указав вид замены «Замещение». Заполнение документа аналогично случаю, рассмотренному выше.
отразить доплату по среднему заработку замещающему сотруднику при помощи документа «Оплата по среднему заработку» с видом оплаты «Доплата до среднего».


При расчете заработной платы для сотрудника будет добавлен вид расчета «Замещение», вытесняющий основное начисление, основное начисление по заменяемому работнику и доплата до среднего...."


kosalex Подменю пользователя
сообщение 23.12.14, 16:51
Сообщение #11

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

Это читал)Вопрос на линию поддержки писал))
У меня полное замещение,оклад по часам,тип графика сменный,есть ночные часы и еще у сотрудника который заменяет есть отпуск организации за свой счет на последний день замещения. С тем что не подтягивались ночные часы вроде решил(см.выше),а вот то что отпуск не вытесняет последний день не решилось еще(((


 ! 

Правила: 13!
 


Сообщение отредактировал Vofka - 23.12.14, 17:08

alex040269 Подменю пользователя
сообщение 23.12.14, 17:11
Сообщение #12

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

Цитата(kosalex @ 23.12.14, 16:51) *
а вот то что отпуск не вытесняет последний день не решилось еще(((

проверить табличную часть "Вытесняющие виды расчетов".
исправить и перепровести доки.

проверить, что все виды расчетов попадают в регистр расчетов


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

kosalex Подменю пользователя
сообщение 23.12.14, 17:12
Сообщение #13

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

Вариант,надо посмотреть.

kosalex Подменю пользователя
сообщение 24.12.14, 9:23
Сообщение #14

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

Цитата(alex040269 @ 23.12.14, 17:11) *
проверить табличную часть "Вытесняющие виды расчетов".
исправить и перепровести доки.

проверить, что все виды расчетов попадают в регистр расчетов



Проверил "Вытесняющие виды расчетов", все стоит как нужно.


Пробовал делать "отпуск за свой счет по соглашению сторон" документом "Невыходы в организациях":


Так же делал этот не выход через док "Отпуска организации":


Пробовал проводить доки "Невыходы в организациях" и "Отпуск организации" вместе. Доки проводятся, но результат такой же.

Результат ожин и тот же, считает не правильно, этот отпуск за свой счет не вытесняет последний день.
Вот табель:



ПОМОГИТЕ, ПЛИЗ!

А какой регистр нужно проверять?

kosalex Подменю пользователя
сообщение 24.12.14, 14:37
Сообщение #15

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

У кого нибудь еще есть варианты?

kosalex Подменю пользователя
сообщение 24.12.14, 23:41
Сообщение #16

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

Проблему решил, отпишу.

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


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

 

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