Фирма 1С просит не публиковать скриншоты материалов охраняемых авторским правом
0 Пользователей и 1 Гость просматривают эту тему.
Цитата: Rokkie от Июль 06, 2016, 10:09:33 amВчера весь вечер убил, но решил условие СПР "Первоначальное значение оклада может изменяться не чаще, чем один раз в день, но берется на начало расчетного периода." "ВЫБРАТЬ | НачислениеЗарплатыОсновныеНачисления.Сотрудник КАК Сотрудник, | НачислениеЗарплатыОсновныеНачисления.ДатаНачала, | НачислениеЗарплатыОсновныеНачисления.ДатаОкончания, | НачислениеЗарплатыОсновныеНачисления.График, | НачислениеЗарплатыОсновныеНачисления.Подразделение, | НачислениеЗарплатыОсновныеНачисления.ВидРасчета |ПОМЕСТИТЬ ДокТЧ |ИЗ | Документ.НачислениеЗарплаты.ОсновныеНачисления КАК НачислениеЗарплатыОсновныеНачисления |ГДЕ | НачислениеЗарплатыОсновныеНачисления.Ссылка = &Ссылка | |ИНДЕКСИРОВАТЬ ПО | Сотрудник |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЕСТЬNULL(СведенияОСотрудникахСрезПоследних.Оклад, 0) КАК Оклад, | СведенияОСотрудникахСрезПоследних.Сотрудник, | НАЧАЛОПЕРИОДА(&НачалоМесяца, ДЕНЬ) КАК Период |ПОМЕСТИТЬ НаНачало |ИЗ | РегистрСведений.СведенияОСотрудниках.СрезПоследних( | &НачалоМесяца, | Сотрудник В | (ВЫБРАТЬ | ДокТЧ.Сотрудник | ИЗ | ДокТЧ КАК ДокТЧ)) КАК СведенияОСотрудникахСрезПоследних |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СведенияОСотрудниках.Период, | СведенияОСотрудниках.Сотрудник КАК Сотрудник, | СведенияОСотрудниках.Оклад |ПОМЕСТИТЬ ФТИНачало |ИЗ | РегистрСведений.СведенияОСотрудниках КАК СведенияОСотрудниках |ГДЕ | СведенияОСотрудниках.Сотрудник В | (ВЫБРАТЬ | ДокТЧ.Сотрудник | ИЗ | ДокТЧ КАК ДокТЧ) | И СведенияОСотрудниках.Период МЕЖДУ &НачалоМесяца И &КонецМесяца | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | НаНачало.Период, | НаНачало.Сотрудник, | НаНачало.Оклад |ИЗ | НаНачало КАК НаНачало | |ИНДЕКСИРОВАТЬ ПО | Сотрудник |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ФТИНачало.Сотрудник КАК Сотрудник, | ФТИНачало.Период КАК Начало, | МИНИМУМ(ВЫБОР | КОГДА ФТИНачало1.Период ЕСТЬ NULL | ТОГДА КОНЕЦПЕРИОДА(&КонецМесяца, ДЕНЬ) | ИНАЧЕ ФТИНачало1.Период | КОНЕЦ) КАК Окончание, | ЕСТЬNULL(ФТИНачало.Оклад, 0) КАК Поле1 |ПОМЕСТИТЬ Итог |ИЗ | ФТИНачало КАК ФТИНачало | ЛЕВОЕ СОЕДИНЕНИЕ ФТИНачало КАК ФТИНачало1 | ПО ФТИНачало.Сотрудник = ФТИНачало1.Сотрудник | И ФТИНачало.Период < ФТИНачало1.Период | |СГРУППИРОВАТЬ ПО | ФТИНачало.Период, | ФТИНачало.Сотрудник, | ЕСТЬNULL(ФТИНачало.Оклад, 0) | |ИНДЕКСИРОВАТЬ ПО | Сотрудник |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ДокТЧ.Сотрудник, | ДокТЧ.Подразделение, | ДокТЧ.ВидРасчета, | ДокТЧ.График, | Итог.Начало, | Итог.Окончание, | Итог.Поле1 КАК Оклад |ИЗ | ДокТЧ КАК ДокТЧ | ЛЕВОЕ СОЕДИНЕНИЕ Итог КАК Итог | ПО ДокТЧ.Сотрудник = Итог.Сотрудник";Хотя усложнил себе жизнь наверное, т.к. оклад берется на начало. Но все равно условие "оклад меняется неоднократно в расчетном периоде" встречается часто. Так что это хорошая практика.Чистов кстати говорит, что это автоматизировать не нужно. Отнюдь Честно говоря, не понял смысл этого запроса. Чем не подходит просто срез последних на дату начала расчетного периода?
Вчера весь вечер убил, но решил условие СПР "Первоначальное значение оклада может изменяться не чаще, чем один раз в день, но берется на начало расчетного периода." "ВЫБРАТЬ | НачислениеЗарплатыОсновныеНачисления.Сотрудник КАК Сотрудник, | НачислениеЗарплатыОсновныеНачисления.ДатаНачала, | НачислениеЗарплатыОсновныеНачисления.ДатаОкончания, | НачислениеЗарплатыОсновныеНачисления.График, | НачислениеЗарплатыОсновныеНачисления.Подразделение, | НачислениеЗарплатыОсновныеНачисления.ВидРасчета |ПОМЕСТИТЬ ДокТЧ |ИЗ | Документ.НачислениеЗарплаты.ОсновныеНачисления КАК НачислениеЗарплатыОсновныеНачисления |ГДЕ | НачислениеЗарплатыОсновныеНачисления.Ссылка = &Ссылка | |ИНДЕКСИРОВАТЬ ПО | Сотрудник |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЕСТЬNULL(СведенияОСотрудникахСрезПоследних.Оклад, 0) КАК Оклад, | СведенияОСотрудникахСрезПоследних.Сотрудник, | НАЧАЛОПЕРИОДА(&НачалоМесяца, ДЕНЬ) КАК Период |ПОМЕСТИТЬ НаНачало |ИЗ | РегистрСведений.СведенияОСотрудниках.СрезПоследних( | &НачалоМесяца, | Сотрудник В | (ВЫБРАТЬ | ДокТЧ.Сотрудник | ИЗ | ДокТЧ КАК ДокТЧ)) КАК СведенияОСотрудникахСрезПоследних |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СведенияОСотрудниках.Период, | СведенияОСотрудниках.Сотрудник КАК Сотрудник, | СведенияОСотрудниках.Оклад |ПОМЕСТИТЬ ФТИНачало |ИЗ | РегистрСведений.СведенияОСотрудниках КАК СведенияОСотрудниках |ГДЕ | СведенияОСотрудниках.Сотрудник В | (ВЫБРАТЬ | ДокТЧ.Сотрудник | ИЗ | ДокТЧ КАК ДокТЧ) | И СведенияОСотрудниках.Период МЕЖДУ &НачалоМесяца И &КонецМесяца | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | НаНачало.Период, | НаНачало.Сотрудник, | НаНачало.Оклад |ИЗ | НаНачало КАК НаНачало | |ИНДЕКСИРОВАТЬ ПО | Сотрудник |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ФТИНачало.Сотрудник КАК Сотрудник, | ФТИНачало.Период КАК Начало, | МИНИМУМ(ВЫБОР | КОГДА ФТИНачало1.Период ЕСТЬ NULL | ТОГДА КОНЕЦПЕРИОДА(&КонецМесяца, ДЕНЬ) | ИНАЧЕ ФТИНачало1.Период | КОНЕЦ) КАК Окончание, | ЕСТЬNULL(ФТИНачало.Оклад, 0) КАК Поле1 |ПОМЕСТИТЬ Итог |ИЗ | ФТИНачало КАК ФТИНачало | ЛЕВОЕ СОЕДИНЕНИЕ ФТИНачало КАК ФТИНачало1 | ПО ФТИНачало.Сотрудник = ФТИНачало1.Сотрудник | И ФТИНачало.Период < ФТИНачало1.Период | |СГРУППИРОВАТЬ ПО | ФТИНачало.Период, | ФТИНачало.Сотрудник, | ЕСТЬNULL(ФТИНачало.Оклад, 0) | |ИНДЕКСИРОВАТЬ ПО | Сотрудник |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ДокТЧ.Сотрудник, | ДокТЧ.Подразделение, | ДокТЧ.ВидРасчета, | ДокТЧ.График, | Итог.Начало, | Итог.Окончание, | Итог.Поле1 КАК Оклад |ИЗ | ДокТЧ КАК ДокТЧ | ЛЕВОЕ СОЕДИНЕНИЕ Итог КАК Итог | ПО ДокТЧ.Сотрудник = Итог.Сотрудник";Хотя усложнил себе жизнь наверное, т.к. оклад берется на начало. Но все равно условие "оклад меняется неоднократно в расчетном периоде" встречается часто. Так что это хорошая практика.Чистов кстати говорит, что это автоматизировать не нужно. Отнюдь