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

Хранилище

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

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



> Проблемы с запросом в отчете          
mabuta_account Подменю пользователя
сообщение 28.02.12, 2:56
Сообщение #1

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

Добрый день!!!

Проблема заключаеться вот в чем

Общая информация: Есть УТП для Украины (последний релиз) и есть отчет по отпускам, который выдает список сотрудников, резерв отпусков и арифметические функции с резервом.

Есть запрос по которому выполняется выборка сотрудников компании по документу "НачислениеОтпусков", но тогда новые сотрудники которые еще не использовали свой отпуск вообще не отображаются в отчете, то есть надо выбирать их из "прийома на работу", но ничего не выходит (пытался уже разными способами).
Еще одной проблемой есть то что когда сотрудника переводят (а в базе это увольняют и принимают обратно только в другой отдел, то тот отпуск который был возмещен по увольнению сотрудника не учитывается в самом отчете, то есть не отнимается от "резерва отпуска").

Вот исходный запрос:

 Запрос.Текст = "ВЫБРАТЬ
|    НачислениеОтпускаРаботникамОрганизаций.Сотрудник КАК Сотрудник,
|    СУММА(НачислениеОтпускаРаботникамОрганизаций.ОплаченоДнейЧасов) КАК РезервОтпуска,
|    СотрудникиОрганизаций.Резерв2010 КАК Резерв2010,
|    СведенияОбИнвалидностиФизлиц.Инвалидность КАК Инвалидность
|ПОМЕСТИТЬ ОсновнаяВыборка
|ИЗ
|  Документ.НачислениеОтпускаРаботникамОрганизаций.Начисления КАК НачислениеОтпускаРаботникамОрганизаций
|    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
|    ПО НачислениеОтпускаРаботникамОрганизаций.Сотрудник = СотрудникиОрганизаций.Ссылка
|         ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОбИнвалидностиФизлиц КАК СведенияОбИнвалидностиФизлиц
|         ПО СотрудникиОрганизаций.Физлицо = СведенияОбИнвалидностиФизлиц.Физлицо
|ГДЕ
|    НачислениеОтпускаРаботникамОрганизаций.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон
|
|СГРУППИРОВАТЬ ПО
|    НачислениеОтпускаРаботникамОрганизаций.Сотрудник,
|    СотрудникиОрганизаций.Резерв2010,
|    СведенияОбИнвалидностиФизлиц.Инвалидность
|;
|
|////////////////////////////////////////////////////////////////////////////////

|ВЫБРАТЬ
|    Начисления.Сотрудник КАК СотрудникиНач,
|    СУММА(Начисления.Результат) КАК РезультатСреднего
|ПОМЕСТИТЬ НачисленияРезультат
|ИЗ
|    РегистрРасчета.Начисления КАК Начисления
|ГДЕ
|    Начисления.ПериодРегистрации МЕЖДУ ДОБАВИТЬКДАТЕ(&ДатаКон, МЕСЯЦ, -12) И &ДатаКон
|
|СГРУППИРОВАТЬ ПО
|    Начисления.Сотрудник
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|    ПриемНаРаботуВОрганизацию.Сотрудник КАК СотрудникПодр,
|    ПриемНаРаботуВОрганизацию.ПодразделениеУпр КАК ПодразделениеУпр
|ПОМЕСТИТЬ ПодразделениеОрганизации
|ИЗ
|    Документ.ПриемНаРаботуВОрганизацию.РаботникиОрганизации КАК ПриемНаРаботуВОрганизацию
|
|СГРУППИРОВАТЬ ПО
|    ПриемНаРаботуВОрганизацию.Сотрудник,
|    ПриемНаРаботуВОрганизацию.ПодразделениеУпр
|;
|
|////////////////////////////////////////////////////////////////////////////////

|ВЫБРАТЬ
|    ОсновнаяВыборка.Сотрудник КАК Сотрудник,
|    ОсновнаяВыборка.Инвалидность КАК Инвалидность,
|    ((ОсновнаяВыборка.Резерв2010 - ОсновнаяВыборка.РезервОтпуска) + РАЗНОСТЬДАТ(&ДатаНач, КОНЕЦПЕРИОДА( &ДатаКон, ДЕНЬ), МЕСЯЦ)*2 + 2) КАК Резерв,
|    ЕСТЬNULL(НачисленияРезультат.РезультатСреднего, 0) КАК РезультатСреднего,
|    ПодразделениеОрганизации.ПодразделениеУпр КАК ПодразделениеУпр,
|    ПодразделениеОрганизации.ПодразделениеУпр.Наименование КАК Подр,
|    (ЕСТЬNULL(НачисленияРезультат.РезультатСреднего, 0))/355 КАК СредняяЗП,
|    ((ОсновнаяВыборка.Резерв2010 - ОсновнаяВыборка.РезервОтпуска) + РАЗНОСТЬДАТ(&ДатаНач, КОНЕЦПЕРИОДА( &ДатаКон, ДЕНЬ), МЕСЯЦ)*2 + 2)*((ЕСТЬNULL(НачисленияРезультат.РезультатСреднего, 0))/355) КАК СумОбесп
|ИЗ
|    ОсновнаяВыборка КАК ОсновнаяВыборка
|        ЛЕВОЕ СОЕДИНЕНИЕ НачисленияРезультат КАК НачисленияРезультат
|        ПО ОсновнаяВыборка.Сотрудник = НачисленияРезультат.СотрудникиНач
|         ЛЕВОЕ СОЕДИНЕНИЕ ПодразделениеОрганизации КАК ПодразделениеОрганизации
|         ПО НачисленияРезультат.СотрудникиНач = ПодразделениеОрганизации.СотрудникПодр
|
|УПОРЯДОЧИТЬ ПО
|    Сотрудник
|АВТОУПОРЯДОЧИВАНИЕ
|";


Вот что я пробовал:

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

|ВЫБРАТЬ
|    Начисления.Сотрудник КАК СотрудникиНач,
|    СУММА(Начисления.Результат) КАК РезультатСреднего
|ПОМЕСТИТЬ НачисленияРезультат
|ИЗ
|    РегистрРасчета.Начисления КАК Начисления
|ГДЕ
|    Начисления.ПериодРегистрации МЕЖДУ ДОБАВИТЬКДАТЕ(&ДатаКон, МЕСЯЦ, -12) И &ДатаКон
|
|СГРУППИРОВАТЬ ПО
|    Начисления.Сотрудник
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|    НачислениеОтпускаРаботникамОрганизаций.Сотрудник КАК СотрудникОтп,
|    СУММА(НачислениеОтпускаРаботникамОрганизаций.ОплаченоДнейЧасов) КАК РезервОтпуска
|ПОМЕСТИТЬ НачислениеОтпуска
| ИЗ
|  Документ.НачислениеОтпускаРаботникамОрганизаций.Начисления КАК НачислениеОтпускаРаботникамОрганизаций
|    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
|    ПО НачислениеОтпускаРаботникамОрганизаций.Сотрудник = СотрудникиОрганизаций.Ссылка
| ГДЕ
|    НачислениеОтпускаРаботникамОрганизаций.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон
| СГРУППИРОВАТЬ ПО
|    НачислениеОтпускаРаботникамОрганизаций.Сотрудник
|;
|
|////////////////////////////////////////////////////////////////////////////////

|ВЫБРАТЬ
|    ОсновнаяВыборка.Сотрудник КАК Сотрудник,
|    ОсновнаяВыборка.Инвалидность КАК Инвалидность,
|    ((ОсновнаяВыборка.Резерв2010 - НачислениеОтпуска.РезервОтпуска) + РАЗНОСТЬДАТ(&ДатаНач, КОНЕЦПЕРИОДА( &ДатаКон, ДЕНЬ), МЕСЯЦ)*2 + 2)  КАК Резерв,
//|    ОсновнаяВыборка.РезервОтпуска - ОсновнаяВыборка.Резерв2010 КАК РезервРазница,
//|    РАЗНОСТЬДАТ(&ДатаНач, КОНЕЦПЕРИОДА( &ДатаКон, ДЕНЬ), МЕСЯЦ) КАК РазностьДат,
|    ЕСТЬNULL(НачисленияРезультат.РезультатСреднего, 0) КАК РезультатСреднего,
|    ОсновнаяВыборка.ПодразделениеУпр КАК ПодразделениеУпр,
//|    ПодразделениеОрганизации.СотрудникПодр  КАК СотрудникПодр,
|    ОсновнаяВыборка.ПодразделениеУпр.Наименование КАК Подр,
|    (ЕСТЬNULL(НачисленияРезультат.РезультатСреднего, 0))/355 КАК СредняяЗП,
|    ((ОсновнаяВыборка.Резерв2010 - НачислениеОтпуска.РезервОтпуска) + РАЗНОСТЬДАТ(&ДатаНач, КОНЕЦПЕРИОДА( &ДатаКон, ДЕНЬ), МЕСЯЦ)*2)*((ЕСТЬNULL(НачисленияРезультат.РезультатСреднего, 0))/355) КАК СумОбесп
|ИЗ
|    ОсновнаяВыборка КАК ОсновнаяВыборка
|        ЛЕВОЕ СОЕДИНЕНИЕ НачисленияРезультат КАК НачисленияРезультат
|        ПО ОсновнаяВыборка.Сотрудник = НачисленияРезультат.СотрудникиНач
|         ЛЕВОЕ СОЕДИНЕНИЕ НачислениеОтпуска КАК НачислениеОтпуска
|         ПО НачисленияРезультат.СотрудникиНач = НачислениеОтпуска.СотрудникОтп
|
|УПОРЯДОЧИТЬ ПО
|    Сотрудник
|АВТОУПОРЯДОЧИВАНИЕ
|";
Тут выдает что "Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных примитивных типов (Булево, Число, Строка, Дата)"


И вторая попытка:

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

|ВЫБРАТЬ
|    Начисления.Сотрудник КАК СотрудникиНач,
|    СУММА(Начисления.Результат) КАК РезультатСреднего
|ПОМЕСТИТЬ НачисленияРезультат
|ИЗ
|    РегистрРасчета.Начисления КАК Начисления
|ГДЕ
|    Начисления.ПериодРегистрации МЕЖДУ ДОБАВИТЬКДАТЕ(&ДатаКон, МЕСЯЦ, -12) И &ДатаКон
|
|СГРУППИРОВАТЬ ПО
|    Начисления.Сотрудник
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|    ПриемНаРаботуВОрганизацию.Сотрудник КАК СотрудникПодр,
|    ПриемНаРаботуВОрганизацию.ПодразделениеУпр КАК ПодразделениеУпр
|ПОМЕСТИТЬ ПодразделениеОрганизации
|ИЗ
|    Документ.ПриемНаРаботуВОрганизацию.РаботникиОрганизации КАК ПриемНаРаботуВОрганизацию
|
|СГРУППИРОВАТЬ ПО
|    ПриемНаРаботуВОрганизацию.Сотрудник,
|    ПриемНаРаботуВОрганизацию.ПодразделениеУпр
|;
|
|////////////////////////////////////////////////////////////////////////////////

|ВЫБРАТЬ
|    ОсновнаяВыборка.Сотрудник КАК Сотрудник,
|    ОсновнаяВыборка.Инвалидность КАК Инвалидность,
|    ((ОсновнаяВыборка.Резерв2010 - ОсновнаяВыборка.РезервОтпуска) + РАЗНОСТЬДАТ(&ДатаНач, КОНЕЦПЕРИОДА( &ДатаКон, ДЕНЬ), МЕСЯЦ)*2 + 2) КАК Резерв,
|    ЕСТЬNULL(НачисленияРезультат.РезультатСреднего, 0) КАК РезультатСреднего,
|    ПодразделениеОрганизации.ПодразделениеУпр КАК ПодразделениеУпр,
|    ПодразделениеОрганизации.ПодразделениеУпр.Наименование КАК Подр,
|    (ЕСТЬNULL(НачисленияРезультат.РезультатСреднего, 0))/355 КАК СредняяЗП,
|    ((ОсновнаяВыборка.Резерв2010 - ОсновнаяВыборка.РезервОтпуска) + РАЗНОСТЬДАТ(&ДатаНач, КОНЕЦПЕРИОДА( &ДатаКон, ДЕНЬ), МЕСЯЦ)*2 + 2)*((ЕСТЬNULL(НачисленияРезультат.РезультатСреднего, 0))/355) КАК СумОбесп
|ИЗ
|    ОсновнаяВыборка КАК ОсновнаяВыборка
|        ЛЕВОЕ СОЕДИНЕНИЕ НачисленияРезультат КАК НачисленияРезультат
|        ПО ОсновнаяВыборка.Сотрудник = НачисленияРезультат.СотрудникиНач
|         ЛЕВОЕ СОЕДИНЕНИЕ ПодразделениеОрганизации КАК ПодразделениеОрганизации
|         ПО НачисленияРезультат.СотрудникиНач = ПодразделениеОрганизации.СотрудникПодр
|
|УПОРЯДОЧИТЬ ПО
|    Сотрудник
|АВТОУПОРЯДОЧИВАНИЕ
|";



Ниже приложу два файла Exel, в первом то что выдает у меня и во-втором, то что надо чтоб выдавало в отчете.

Вот ссылки
1. [необходимо зарегистрироваться для просмотра ссылки]
2.[необходимо зарегистрироваться для просмотра ссылки]


Заранее благодарен за помощь.

Ardi Подменю пользователя
сообщение 28.02.12, 3:56
Сообщение #2

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

Я тоже хочу зарплату 20830,03 белыми в месяц.

www.apf_kiev_ua


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

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


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

 

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