Нужно чтобы отчет показывал информацию за год в пределах дня какое количество работающих
ибо выбирать каждый день в период года это не реально.сейчас работает на дату.
ВЫБРАТЬ
ШтатноеРасписаниеСрезПоследних.Подразделение,
ШтатноеРасписаниеСрезПоследних.Должность,
РаботающиеСотрудникиНаДату.КоличествоРаботников КАК КоличествоРаботников
ИЗ
РегистрСведений.ШтатноеРасписание.СрезПоследних(, ) КАК ШтатноеРасписаниеСрезПоследних
ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
РегистрСотрудниковСрезПоследних.Подразделение КАК Подразделение,
КОЛИЧЕСТВО(РегистрСотрудниковСрезПоследних.Работник) КАК КоличествоРаботников,
РегистрСотрудниковСрезПоследних.Должность КАК Должность
ИЗ
РегистрСведений.РегистрСотрудников.СрезПоследних(, ) КАК РегистрСотрудниковСрезПоследних
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
КадровыйДокументСотрудникиПринимаемые.Ссылка КАК Ссылка,
КадровыйДокументСотрудникиПринимаемые.Сотрудник КАК Сотрудник,
КадровыйДокументСотрудникиПринимаемые.Ссылка.Подразделение КАК Подразделение,
КадровыйДокументСотрудникиПринимаемые.ДатаПриема КАК ДатаПриема,
КадровыйДокументСотрудникиПринимаемые.Должность КАК Должность,
КадровыйДокументСотрудникиПринимаемые.Примечание КАК Примечание
ИЗ
Документ.КадровыйДокумент.СотрудникиПринимаемые КАК КадровыйДокументСотрудникиПринимаемые
ГДЕ
КадровыйДокументСотрудникиПринимаемые.Ссылка.ПометкаУдаления = ЛОЖЬ
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
КадровыйДокументСотрудникиУвольняемые.Ссылка,
КадровыйДокументСотрудникиУвольняемые.Сотрудник,
КадровыйДокументСотрудникиУвольняемые.Ссылка.Подразделение,
КадровыйДокументСотрудникиУвольняемые.ДатаПриема,
КадровыйДокументСотрудникиУвольняемые.Должность,
КадровыйДокументСотрудникиУвольняемые.Примечание
ИЗ
Документ.КадровыйДокумент.СотрудникиУвольняемые КАК КадровыйДокументСотрудникиУвольняемые
ГДЕ
КадровыйДокументСотрудникиУвольняемые.Ссылка.ПометкаУдаления = ЛОЖЬ) КАК КадровыеДанные
ПО РегистрСотрудниковСрезПоследних.Подразделение = КадровыеДанные.Подразделение
И РегистрСотрудниковСрезПоследних.Работник = КадровыеДанные.Сотрудник
И РегистрСотрудниковСрезПоследних.ДатаПриема = КадровыеДанные.ДатаПриема
И РегистрСотрудниковСрезПоследних.Должность = КадровыеДанные.Должность
И РегистрСотрудниковСрезПоследних.Регистратор = КадровыеДанные.Ссылка
ГДЕ
РегистрСотрудниковСрезПоследних.Статус = &параметрСтатусРаботает
СГРУППИРОВАТЬ ПО
РегистрСотрудниковСрезПоследних.Подразделение,
РегистрСотрудниковСрезПоследних.Должность) КАК РаботающиеСотрудникиНаДату
ПО ШтатноеРасписаниеСрезПоследних.Подразделение = РаботающиеСотрудникиНаДату.Подразделение
И ШтатноеРасписаниеСрезПоследних.Должность = РаботающиеСотрудникиНаДату.Должность
ВЫБРАТЬ
Номенклатура,
Период,
ВНаличииКонечныйОстаток КАК Было
ПОМЕСТИТЬ Шаг0
ИЗ
РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, День, , )
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
Номенклатура,
&НачалоПериода,
0
ИЗ
РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, ДЕНЬ, , )
;
////////Повторяется Х раз////////
ВЫБРАТЬ
Номенклатура,
Период,
ЕСТЬNULL(МАКСИМУМ(Было), МАКСИМУМ(Стало)) КАК Было
ПОМЕСТИТЬ Шаг1
ИЗ
(ВЫБРАТЬ
Номенклатура КАК Номенклатура,
Период КАК Период,
Было КАК Было,
NULL КАК Стало
ИЗ
Шаг0 //таблица, полученная на предыдущем шаге
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
Номенклатура,
ДОБАВИТЬКДАТЕ(Период, ДЕНЬ, 1),//каждый раз вдвое больше дней: 1, 2, 4 и так далее
NULL,
Было
ИЗ
Шаг0
ГДЕ
ДОБАВИТЬКДАТЕ(Период, ДЕНЬ, 1) <= &КонецПериода) КАК Куча
СГРУППИРОВАТЬ ПО
Номенклатура,
Период
;
////////конец повторов////////
ВЫБРАТЬ
Номенклатура,
Период,
Было
ИЗ
ШагХ
УПОРЯДОЧИТЬ ПО
Номенклатура,
Период
sava1 @ Вчера, 17:55
,
это был пример) я прошу помочь адаптировать его к моему коду) если этот пример позволит сделать то что мне надо конечно) я могу ошибаться что это то что нужно
Поможет кто-то?)
burza @ Вчера, 13:27
,
Вот примерчик.
Вроде как то так...
ВЫБРАТЬ
НАЧАЛОПЕРИОДА(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, ДЕНЬ) КАК Дата
ПОМЕСТИТЬ Календарь
ИЗ
РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
ГДЕ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НачалоПериода И &КонецПериода
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Календарь.Дата КАК Дата,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ СостояниеРаботниковОрганизацийСрезПоследних.Сотрудник) КАК Сотрудник
ИЗ
Календарь КАК Календарь
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеРаботниковОрганизаций.СрезПоследних КАК СостояниеРаботниковОрганизацийСрезПоследних
ПО Календарь.Дата >= СостояниеРаботниковОрганизацийСрезПоследних.Период
ГДЕ
СостояниеРаботниковОрганизацийСрезПоследних.Состояние = &Состояние
СГРУППИРОВАТЬ ПО
Календарь.Дата
Vidocq05 @ Сегодня, 11:53
,
да примеров хватает) спасибо) адаптируйте пожалуйста под мой код, я не могу въехать)
burza @ Сегодня, 13:14
,
и календаря в конфе нет)
burza @ Сегодня, 13:27
,
Сделал вот такое но что-то тут не так
ВЫБРАТЬ РАЗЛИЧНЫЕ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря
ПОМЕСТИТЬ Дни
ИЗ
РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
ГДЕ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НачалоПериода И &КонецПериода
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ШтатноеРасписаниеСрезПоследних.Подразделение,
ШтатноеРасписаниеСрезПоследних.Должность,
СУММА(РаботающиеСотрудникиНаДату.КоличествоРаботников) КАК КоличествоРаботников,
ШтатноеРасписаниеСрезПоследних.Период,
РаботающиеСотрудникиНаДату.Работник,
Дни.ДатаКалендаря КАК ДатаКалендаря,
СУММА(ВЫБОР
КОГДА ШтатноеРасписаниеСрезПоследних.Период = &НачалоПериода
ТОГДА ШтатноеРасписаниеСрезПоследних.КоличествоЕдиниц
КОНЕЦ) КАК КоличествоКонечныйОстаток
ИЗ
РегистрСведений.ШтатноеРасписание.СрезПоследних КАК ШтатноеРасписаниеСрезПоследних
ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
РегистрСотрудниковСрезПоследних.Подразделение КАК Подразделение,
КОЛИЧЕСТВО(РегистрСотрудниковСрезПоследних.Работник) КАК КоличествоРаботников,
РегистрСотрудниковСрезПоследних.Должность КАК Должность,
РегистрСотрудниковСрезПоследних.Работник КАК Работник
ИЗ
РегистрСведений.РегистрСотрудников.СрезПоследних КАК РегистрСотрудниковСрезПоследних
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
КадровыйДокументСотрудникиПринимаемые.Ссылка КАК Ссылка,
КадровыйДокументСотрудникиПринимаемые.Сотрудник КАК Сотрудник,
КадровыйДокументСотрудникиПринимаемые.Ссылка.Подразделение КАК Подразделение,
КадровыйДокументСотрудникиПринимаемые.ДатаПриема КАК ДатаПриема,
КадровыйДокументСотрудникиПринимаемые.Должность КАК Должность,
КадровыйДокументСотрудникиПринимаемые.Примечание КАК Примечание
ИЗ
Документ.КадровыйДокумент.СотрудникиПринимаемые КАК КадровыйДокументСотрудникиПринимаемые
ГДЕ
КадровыйДокументСотрудникиПринимаемые.Ссылка.ПометкаУдаления = ЛОЖЬ
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
КадровыйДокументСотрудникиУвольняемые.Ссылка,
КадровыйДокументСотрудникиУвольняемые.Сотрудник,
КадровыйДокументСотрудникиУвольняемые.Ссылка.Подразделение,
КадровыйДокументСотрудникиУвольняемые.ДатаПриема,
КадровыйДокументСотрудникиУвольняемые.Должность,
КадровыйДокументСотрудникиУвольняемые.Примечание
ИЗ
Документ.КадровыйДокумент.СотрудникиУвольняемые КАК КадровыйДокументСотрудникиУвольняемые
ГДЕ
КадровыйДокументСотрудникиУвольняемые.Ссылка.ПометкаУдаления = ЛОЖЬ) КАК КадровыеДанные
ПО РегистрСотрудниковСрезПоследних.Подразделение = КадровыеДанные.Подразделение
И РегистрСотрудниковСрезПоследних.Работник = КадровыеДанные.Сотрудник
И РегистрСотрудниковСрезПоследних.ДатаПриема = КадровыеДанные.ДатаПриема
И РегистрСотрудниковСрезПоследних.Должность = КадровыеДанные.Должность
И РегистрСотрудниковСрезПоследних.Регистратор = КадровыеДанные.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ Дни КАК Дни
ПО РегистрСотрудниковСрезПоследних.Период = Дни.ДатаКалендаря
ГДЕ
РегистрСотрудниковСрезПоследних.Статус = &параметрСтатусРаботает
СГРУППИРОВАТЬ ПО
РегистрСотрудниковСрезПоследних.Подразделение,
РегистрСотрудниковСрезПоследних.Должность,
РегистрСотрудниковСрезПоследних.Работник) КАК РаботающиеСотрудникиНаДату
ПО ШтатноеРасписаниеСрезПоследних.Подразделение = РаботающиеСотрудникиНаДату.Подразделение
И ШтатноеРасписаниеСрезПоследних.Должность = РаботающиеСотрудникиНаДату.Должность
ЛЕВОЕ СОЕДИНЕНИЕ Дни КАК Дни
ПО ШтатноеРасписаниеСрезПоследних.Период <= Дни.ДатаКалендаря
СГРУППИРОВАТЬ ПО
ШтатноеРасписаниеСрезПоследних.Подразделение,
ШтатноеРасписаниеСрезПоследних.Должность,
Дни.ДатаКалендаря,
РаботающиеСотрудникиНаДату.Работник,
ШтатноеРасписаниеСрезПоследних.Период
УПОРЯДОЧИТЬ ПО
Дни.ДатаКалендаря
Помогите из этого
ВЫБРАТЬ
ШтатноеРасписаниеСрезПоследних.Подразделение,
ШтатноеРасписаниеСрезПоследних.Должность,
ШтатноеРасписаниеСрезПоследних.Должность.Родитель,
ШтатноеРасписаниеСрезПоследних.Оклад,
ШтатноеРасписаниеСрезПоследних.КоличествоЕдиниц,
РаботающиеСотрудникиНаДату.КоличествоРаботников
ИЗ
РегистрСведений.ШтатноеРасписание.СрезПоследних(, ) КАК ШтатноеРасписаниеСрезПоследних
ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
РегистрСотрудниковСрезПоследних.Подразделение КАК Подразделение,
КОЛИЧЕСТВО(РегистрСотрудниковСрезПоследних.Работник) КАК КоличествоРаботников,
РегистрСотрудниковСрезПоследних.Должность КАК Должность
ИЗ
РегистрСведений.РегистрСотрудников.СрезПоследних(, ) КАК РегистрСотрудниковСрезПоследних
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
КадровыйДокументСотрудникиПринимаемые.Ссылка КАК Ссылка,
КадровыйДокументСотрудникиПринимаемые.Сотрудник КАК Сотрудник,
КадровыйДокументСотрудникиПринимаемые.Ссылка.Подразделение КАК Подразделение,
КадровыйДокументСотрудникиПринимаемые.ДатаПриема КАК ДатаПриема,
КадровыйДокументСотрудникиПринимаемые.Должность КАК Должность,
КадровыйДокументСотрудникиПринимаемые.Примечание КАК Примечание
ИЗ
Документ.КадровыйДокумент.СотрудникиПринимаемые КАК КадровыйДокументСотрудникиПринимаемые
ГДЕ
КадровыйДокументСотрудникиПринимаемые.Ссылка.ПометкаУдаления = ЛОЖЬ
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
КадровыйДокументСотрудникиУвольняемые.Ссылка,
КадровыйДокументСотрудникиУвольняемые.Сотрудник,
КадровыйДокументСотрудникиУвольняемые.Ссылка.Подразделение,
КадровыйДокументСотрудникиУвольняемые.ДатаПриема,
КадровыйДокументСотрудникиУвольняемые.Должность,
КадровыйДокументСотрудникиУвольняемые.Примечание
ИЗ
Документ.КадровыйДокумент.СотрудникиУвольняемые КАК КадровыйДокументСотрудникиУвольняемые
ГДЕ
КадровыйДокументСотрудникиУвольняемые.Ссылка.ПометкаУдаления = ЛОЖЬ
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
КадровыйДокументСотрудникиПереводимые.Ссылка,
КадровыйДокументСотрудникиПереводимые.Сотрудник,
КадровыйДокументСотрудникиПереводимые.Ссылка.Подразделение,
КадровыйДокументСотрудникиПереводимые.ДатаПриема,
КадровыйДокументСотрудникиПереводимые.ДолжностьИсх,
КадровыйДокументСотрудникиПереводимые.Примечание
ИЗ
Документ.КадровыйДокумент.СотрудникиПереводимые КАК КадровыйДокументСотрудникиПереводимые
ГДЕ
КадровыйДокументСотрудникиПереводимые.Ссылка.ПометкаУдаления = ЛОЖЬ) КАК КадровыеДанные
ПО РегистрСотрудниковСрезПоследних.Подразделение = КадровыеДанные.Подразделение
И РегистрСотрудниковСрезПоследних.Работник = КадровыеДанные.Сотрудник
И РегистрСотрудниковСрезПоследних.ДатаПриема = КадровыеДанные.ДатаПриема
И РегистрСотрудниковСрезПоследних.Должность = КадровыеДанные.Должность
И РегистрСотрудниковСрезПоследних.Регистратор = КадровыеДанные.Ссылка
ГДЕ
РегистрСотрудниковСрезПоследних.Статус = &параметрСтатусРаботает
СГРУППИРОВАТЬ ПО
РегистрСотрудниковСрезПоследних.Подразделение,
РегистрСотрудниковСрезПоследних.Должность) КАК РаботающиеСотрудникиНаДату
ПО ШтатноеРасписаниеСрезПоследних.Подразделение = РаботающиеСотрудникиНаДату.Подразделение
И ШтатноеРасписаниеСрезПоследних.Должность = РаботающиеСотрудникиНаДату.Должность
ВЫБРАТЬ РАЗЛИЧНЫЕ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря
ПОМЕСТИТЬ Дни
ИЗ
РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
ГДЕ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НачалоПериода И &КонецПериода
; ////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Движения.Номенклатура,
ДНИ.ДатаКалендаря КАК ДатаКалендаря,
СУММА(ВЫБОР
КОГДА Движения.Период = &НачалоПериода
ТОГДА Движения.КоличествоКонечныйОстаток
ИНАЧЕ ВЫБОР
КОГДА Движения.Период <= ДНИ.ДатаКалендаря
ТОГДА Движения.КоличествоОборот
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ) КАК КоличествоКонечныйОстаток
ИЗ
Дни КАК ДНИ
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, День, , ) КАК Движения
ПО (Движения.Период <= ДНИ.ДатаКалендаря)
ГДЕ
Движения.Номенклатура.ОсновнойПоставщик = &ОсновнойПоставщик
И Движения.Номенклатура.Код = &Код
СГРУППИРОВАТЬ ПО
Движения.Номенклатура,
ДНИ.ДатаКалендаря
Vidocq05 @ Сегодня, 9:58
,
самописная
это приделал РегистрСведений.РегламентированныйПроизводственныйКалендарь
burza @ Сегодня, 10:45
,
Ну так, без конфигурации, я не смогу подкорректировать Ваш запрос.
Vidocq05 @ Сегодня, 11:13
,
http://pro1c.org.ua/redirect.php?https://drive.google.com/file/d/1XcUL1KpvEUex6rn3RxWTISqFbSA0nGCX/view?usp=sharing
там отчет КоличествоПоДолжностям вот его нужно на каждый день сделать
Vidocq05 @ Вчера, 11:13
,
ну конфу скинул, как вы говорили. Поможете, или то было просто так сказано.
Vidocq05 @ Сегодня, 10:04
,
http://pro1c.org.ua/redirect.php?https://drive.google.com/file/d/1ESClajWBBCFUOnzScXiiHDSoP08twsgQ/view?usp=sharing
отчет встроенный КоличествоПоДолжностям
burza @ 14.09.18, 12:37
,
Прошу прощения. Сейчас работой пригрузили, нет времени. Постараюсь выделить время в ближайшие дни.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua