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

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 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 Текстовая версия Сейчас: 24.06.25, 12:02
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!