Группа: Пользователи
Сообщений: 312
Спасибо сказали: 1 раз
Рейтинг: 1
Нужно чтобы отчет показывал информацию за год в пределах дня какое количество работающих ибо выбирать каждый день в период года это не реально.сейчас работает на дату.
ВЫБРАТЬ ШтатноеРасписаниеСрезПоследних.Подразделение, ШтатноеРасписаниеСрезПоследних.Должность, РаботающиеСотрудникиНаДату.КоличествоРаботников КАК КоличествоРаботников ИЗ РегистрСведений.ШтатноеРасписание.СрезПоследних(, ) КАК ШтатноеРасписаниеСрезПоследних ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РегистрСотрудниковСрезПоследних.Подразделение КАК Подразделение, КОЛИЧЕСТВО(РегистрСотрудниковСрезПоследних.Работник) КАК КоличествоРаботников, РегистрСотрудниковСрезПоследних.Должность КАК Должность ИЗ РегистрСведений.РегистрСотрудников.СрезПоследних(, ) КАК РегистрСотрудниковСрезПоследних ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ КадровыйДокументСотрудникиПринимаемые.Ссылка КАК Ссылка, КадровыйДокументСотрудникиПринимаемые.Сотрудник КАК Сотрудник, КадровыйДокументСотрудникиПринимаемые.Ссылка.Подразделение КАК Подразделение, КадровыйДокументСотрудникиПринимаемые.ДатаПриема КАК ДатаПриема, КадровыйДокументСотрудникиПринимаемые.Должность КАК Должность, КадровыйДокументСотрудникиПринимаемые.Примечание КАК Примечание ИЗ Документ.КадровыйДокумент.СотрудникиПринимаемые КАК КадровыйДокументСотрудникиПринимаемые ГДЕ КадровыйДокументСотрудникиПринимаемые.Ссылка.ПометкаУдаления = ЛОЖЬ
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ КадровыйДокументСотрудникиУвольняемые.Ссылка, КадровыйДокументСотрудникиУвольняемые.Сотрудник, КадровыйДокументСотрудникиУвольняемые.Ссылка.Подразделение, КадровыйДокументСотрудникиУвольняемые.ДатаПриема, КадровыйДокументСотрудникиУвольняемые.Должность, КадровыйДокументСотрудникиУвольняемые.Примечание ИЗ Документ.КадровыйДокумент.СотрудникиУвольняемые КАК КадровыйДокументСотрудникиУвольняемые ГДЕ КадровыйДокументСотрудникиУвольняемые.Ссылка.ПометкаУдаления = ЛОЖЬ) КАК КадровыеДанные ПО РегистрСотрудниковСрезПоследних.Подразделение = КадровыеДанные.Подразделение И РегистрСотрудниковСрезПоследних.Работник = КадровыеДанные.Сотрудник И РегистрСотрудниковСрезПоследних.ДатаПриема = КадровыеДанные.ДатаПриема И РегистрСотрудниковСрезПоследних.Должность = КадровыеДанные.Должность И РегистрСотрудниковСрезПоследних.Регистратор = КадровыеДанные.Ссылка ГДЕ РегистрСотрудниковСрезПоследних.Статус = &параметрСтатусРаботает
СГРУППИРОВАТЬ ПО РегистрСотрудниковСрезПоследних.Подразделение, РегистрСотрудниковСрезПоследних.Должность) КАК РаботающиеСотрудникиНаДату ПО ШтатноеРасписаниеСрезПоследних.Подразделение = РаботающиеСотрудникиНаДату.Подразделение И ШтатноеРасписаниеСрезПоследних.Должность = РаботающиеСотрудникиНаДату.Должность
вот пример на сегодня.
а так понемаю нужно сделать что-то вроде этого
ВЫБРАТЬ Номенклатура, Период, ВНаличииКонечныйОстаток КАК Было ПОМЕСТИТЬ Шаг0 ИЗ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, День, , )
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ Номенклатура, &НачалоПериода, 0 ИЗ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, ДЕНЬ, , ) ;
////////Повторяется Х раз//////// ВЫБРАТЬ Номенклатура, Период, ЕСТЬNULL(МАКСИМУМ(Было), МАКСИМУМ(Стало)) КАК Было ПОМЕСТИТЬ Шаг1 ИЗ (ВЫБРАТЬ Номенклатура КАК Номенклатура, Период КАК Период, Было КАК Было, NULL КАК Стало ИЗ Шаг0 //таблица, полученная на предыдущем шаге
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ Номенклатура, ДОБАВИТЬКДАТЕ(Период, ДЕНЬ, 1),//каждый раз вдвое больше дней: 1, 2, 4 и так далее NULL, Было ИЗ Шаг0 ГДЕ ДОБАВИТЬКДАТЕ(Период, ДЕНЬ, 1) <= &КонецПериода) КАК Куча
СГРУППИРОВАТЬ ПО Номенклатура, Период ; ////////конец повторов////////
ВЫБРАТЬ Номенклатура, Период, ВНаличииКонечныйОстаток КАК Было ПОМЕСТИТЬ Шаг0 ИЗ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, День, , )
попробуйте только вот это. группировки - таблица, строки - сотрудники, колонки - период
Группа: Пользователи
Сообщений: 312
Спасибо сказали: 1 раз
Рейтинг: 1
sava1 @ Вчера, 17:55
, это был пример) я прошу помочь адаптировать его к моему коду) если этот пример позволит сделать то что мне надо конечно) я могу ошибаться что это то что нужно
burza @ Вчера, 13:27
, Вот примерчик. Вроде как то так...
ВЫБРАТЬ НАЧАЛОПЕРИОДА(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, ДЕНЬ) КАК Дата ПОМЕСТИТЬ Календарь ИЗ РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь ГДЕ РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НачалоПериода И &КонецПериода ;
//////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Календарь.Дата КАК Дата, КОЛИЧЕСТВО(РАЗЛИЧНЫЕ СостояниеРаботниковОрганизацийСрезПоследних.Сотрудник) КАК Сотрудник ИЗ Календарь КАК Календарь ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеРаботниковОрганизаций.СрезПоследних КАК СостояниеРаботниковОрганизацийСрезПоследних ПО Календарь.Дата >= СостояниеРаботниковОрганизацийСрезПоследних.Период ГДЕ СостояниеРаботниковОрганизацийСрезПоследних.Состояние = &Состояние
Группа: Пользователи
Сообщений: 312
Спасибо сказали: 1 раз
Рейтинг: 1
burza @ Сегодня, 13:27
, Сделал вот такое но что-то тут не так
ВЫБРАТЬ РАЗЛИЧНЫЕ РегламентированныйПроизводственныйКалендарь.ДатаКалендаря ПОМЕСТИТЬ Дни ИЗ РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь ГДЕ РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НачалоПериода И &КонецПериода ;
//////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ШтатноеРасписаниеСрезПоследних.Подразделение, ШтатноеРасписаниеСрезПоследних.Должность, СУММА(РаботающиеСотрудникиНаДату.КоличествоРаботников) КАК КоличествоРаботников, ШтатноеРасписаниеСрезПоследних.Период, РаботающиеСотрудникиНаДату.Работник, Дни.ДатаКалендаря КАК ДатаКалендаря, СУММА(ВЫБОР КОГДА ШтатноеРасписаниеСрезПоследних.Период = &НачалоПериода ТОГДА ШтатноеРасписаниеСрезПоследних.КоличествоЕдиниц КОНЕЦ) КАК КоличествоКонечныйОстаток ИЗ РегистрСведений.ШтатноеРасписание.СрезПоследних КАК ШтатноеРасписаниеСрезПоследних ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РегистрСотрудниковСрезПоследних.Подразделение КАК Подразделение, КОЛИЧЕСТВО(РегистрСотрудниковСрезПоследних.Работник) КАК КоличествоРаботников, РегистрСотрудниковСрезПоследних.Должность КАК Должность, РегистрСотрудниковСрезПоследних.Работник КАК Работник ИЗ РегистрСведений.РегистрСотрудников.СрезПоследних КАК РегистрСотрудниковСрезПоследних ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ КадровыйДокументСотрудникиПринимаемые.Ссылка КАК Ссылка, КадровыйДокументСотрудникиПринимаемые.Сотрудник КАК Сотрудник, КадровыйДокументСотрудникиПринимаемые.Ссылка.Подразделение КАК Подразделение, КадровыйДокументСотрудникиПринимаемые.ДатаПриема КАК ДатаПриема, КадровыйДокументСотрудникиПринимаемые.Должность КАК Должность, КадровыйДокументСотрудникиПринимаемые.Примечание КАК Примечание ИЗ Документ.КадровыйДокумент.СотрудникиПринимаемые КАК КадровыйДокументСотрудникиПринимаемые ГДЕ КадровыйДокументСотрудникиПринимаемые.Ссылка.ПометкаУдаления = ЛОЖЬ
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ КадровыйДокументСотрудникиУвольняемые.Ссылка, КадровыйДокументСотрудникиУвольняемые.Сотрудник, КадровыйДокументСотрудникиУвольняемые.Ссылка.Подразделение, КадровыйДокументСотрудникиУвольняемые.ДатаПриема, КадровыйДокументСотрудникиУвольняемые.Должность, КадровыйДокументСотрудникиУвольняемые.Примечание ИЗ Документ.КадровыйДокумент.СотрудникиУвольняемые КАК КадровыйДокументСотрудникиУвольняемые ГДЕ КадровыйДокументСотрудникиУвольняемые.Ссылка.ПометкаУдаления = ЛОЖЬ) КАК КадровыеДанные ПО РегистрСотрудниковСрезПоследних.Подразделение = КадровыеДанные.Подразделение И РегистрСотрудниковСрезПоследних.Работник = КадровыеДанные.Сотрудник И РегистрСотрудниковСрезПоследних.ДатаПриема = КадровыеДанные.ДатаПриема И РегистрСотрудниковСрезПоследних.Должность = КадровыеДанные.Должность И РегистрСотрудниковСрезПоследних.Регистратор = КадровыеДанные.Ссылка ЛЕВОЕ СОЕДИНЕНИЕ Дни КАК Дни ПО РегистрСотрудниковСрезПоследних.Период = Дни.ДатаКалендаря ГДЕ РегистрСотрудниковСрезПоследних.Статус = &параметрСтатусРаботает
СГРУППИРОВАТЬ ПО РегистрСотрудниковСрезПоследних.Подразделение, РегистрСотрудниковСрезПоследних.Должность, РегистрСотрудниковСрезПоследних.Работник) КАК РаботающиеСотрудникиНаДату ПО ШтатноеРасписаниеСрезПоследних.Подразделение = РаботающиеСотрудникиНаДату.Подразделение И ШтатноеРасписаниеСрезПоследних.Должность = РаботающиеСотрудникиНаДату.Должность ЛЕВОЕ СОЕДИНЕНИЕ Дни КАК Дни ПО ШтатноеРасписаниеСрезПоследних.Период <= Дни.ДатаКалендаря
СГРУППИРОВАТЬ ПО ШтатноеРасписаниеСрезПоследних.Подразделение, ШтатноеРасписаниеСрезПоследних.Должность, Дни.ДатаКалендаря, РаботающиеСотрудникиНаДату.Работник, ШтатноеРасписаниеСрезПоследних.Период
Группа: Пользователи
Сообщений: 312
Спасибо сказали: 1 раз
Рейтинг: 1
Помогите из этого
ВЫБРАТЬ ШтатноеРасписаниеСрезПоследних.Подразделение, ШтатноеРасписаниеСрезПоследних.Должность, ШтатноеРасписаниеСрезПоследних.Должность.Родитель, ШтатноеРасписаниеСрезПоследних.Оклад, ШтатноеРасписаниеСрезПоследних.КоличествоЕдиниц, РаботающиеСотрудникиНаДату.КоличествоРаботников ИЗ РегистрСведений.ШтатноеРасписание.СрезПоследних(, ) КАК ШтатноеРасписаниеСрезПоследних ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РегистрСотрудниковСрезПоследних.Подразделение КАК Подразделение, КОЛИЧЕСТВО(РегистрСотрудниковСрезПоследних.Работник) КАК КоличествоРаботников, РегистрСотрудниковСрезПоследних.Должность КАК Должность ИЗ РегистрСведений.РегистрСотрудников.СрезПоследних(, ) КАК РегистрСотрудниковСрезПоследних ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ КадровыйДокументСотрудникиПринимаемые.Ссылка КАК Ссылка, КадровыйДокументСотрудникиПринимаемые.Сотрудник КАК Сотрудник, КадровыйДокументСотрудникиПринимаемые.Ссылка.Подразделение КАК Подразделение, КадровыйДокументСотрудникиПринимаемые.ДатаПриема КАК ДатаПриема, КадровыйДокументСотрудникиПринимаемые.Должность КАК Должность, КадровыйДокументСотрудникиПринимаемые.Примечание КАК Примечание ИЗ Документ.КадровыйДокумент.СотрудникиПринимаемые КАК КадровыйДокументСотрудникиПринимаемые ГДЕ КадровыйДокументСотрудникиПринимаемые.Ссылка.ПометкаУдаления = ЛОЖЬ
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ КадровыйДокументСотрудникиУвольняемые.Ссылка, КадровыйДокументСотрудникиУвольняемые.Сотрудник, КадровыйДокументСотрудникиУвольняемые.Ссылка.Подразделение, КадровыйДокументСотрудникиУвольняемые.ДатаПриема, КадровыйДокументСотрудникиУвольняемые.Должность, КадровыйДокументСотрудникиУвольняемые.Примечание ИЗ Документ.КадровыйДокумент.СотрудникиУвольняемые КАК КадровыйДокументСотрудникиУвольняемые ГДЕ КадровыйДокументСотрудникиУвольняемые.Ссылка.ПометкаУдаления = ЛОЖЬ
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ КадровыйДокументСотрудникиПереводимые.Ссылка, КадровыйДокументСотрудникиПереводимые.Сотрудник, КадровыйДокументСотрудникиПереводимые.Ссылка.Подразделение, КадровыйДокументСотрудникиПереводимые.ДатаПриема, КадровыйДокументСотрудникиПереводимые.ДолжностьИсх, КадровыйДокументСотрудникиПереводимые.Примечание ИЗ Документ.КадровыйДокумент.СотрудникиПереводимые КАК КадровыйДокументСотрудникиПереводимые ГДЕ КадровыйДокументСотрудникиПереводимые.Ссылка.ПометкаУдаления = ЛОЖЬ) КАК КадровыеДанные ПО РегистрСотрудниковСрезПоследних.Подразделение = КадровыеДанные.Подразделение И РегистрСотрудниковСрезПоследних.Работник = КадровыеДанные.Сотрудник И РегистрСотрудниковСрезПоследних.ДатаПриема = КадровыеДанные.ДатаПриема И РегистрСотрудниковСрезПоследних.Должность = КадровыеДанные.Должность И РегистрСотрудниковСрезПоследних.Регистратор = КадровыеДанные.Ссылка ГДЕ РегистрСотрудниковСрезПоследних.Статус = &параметрСтатусРаботает
СГРУППИРОВАТЬ ПО РегистрСотрудниковСрезПоследних.Подразделение, РегистрСотрудниковСрезПоследних.Должность) КАК РаботающиеСотрудникиНаДату ПО ШтатноеРасписаниеСрезПоследних.Подразделение = РаботающиеСотрудникиНаДату.Подразделение И ШтатноеРасписаниеСрезПоследних.Должность = РаботающиеСотрудникиНаДату.Должность
добавить функцию вот этого пример
ВЫБРАТЬ РАЗЛИЧНЫЕ РегламентированныйПроизводственныйКалендарь.ДатаКалендаря ПОМЕСТИТЬ Дни ИЗ РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь ГДЕ РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НачалоПериода И &КонецПериода ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Движения.Номенклатура, ДНИ.ДатаКалендаря КАК ДатаКалендаря, СУММА(ВЫБОР КОГДА Движения.Период = &НачалоПериода ТОГДА Движения.КоличествоКонечныйОстаток ИНАЧЕ ВЫБОР КОГДА Движения.Период <= ДНИ.ДатаКалендаря ТОГДА Движения.КоличествоОборот ИНАЧЕ 0 КОНЕЦ КОНЕЦ) КАК КоличествоКонечныйОстаток ИЗ Дни КАК ДНИ ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, День, , ) КАК Движения ПО (Движения.Период <= ДНИ.ДатаКалендаря) ГДЕ Движения.Номенклатура.ОсновнойПоставщик = &ОсновнойПоставщик И Движения.Номенклатура.Код = &Код СГРУППИРОВАТЬ ПО Движения.Номенклатура, ДНИ.ДатаКалендаря
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!