Помогите пожалуйста, не могу понять почему выводит не то значение, вроде все берет правильно.
Не правильно выводит значение КоличествоВОтпускеПоУходуЗаРебенкомНаКонецПериода, все остальные значения правильны.
Простите пожалуйста если что-то не правильно написал.
Не правильно выводит значение КоличествоВОтпускеПоУходуЗаРебенкомНаКонецПериода, все остальные значения правильны.
ВЫБРАТЬ
ДАТАВРЕМЯ(1, 1, 1) КАК Период
ПОМЕСТИТЬ Представления_Периоды
ГДЕ
"НачалоИнтервала" = &НачалоПериода
И "ОкончаниеИнтервала" = &КонецПериода
И "Периодичность" = "ДЕНЬ"
И "ИспользоватьКонецПериода" = ЛОЖЬ
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
КадроваяИсторияСотрудниковСрезПоследних.Период КАК Период,
КадроваяИсторияСотрудниковСрезПоследних.Сотрудник КАК Сотрудник
ПОМЕСТИТЬ ВТ_СотрудникиДаты
ИЗ
РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних({(КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(&НачалоПериода, ДЕНЬ, -1), ДЕНЬ))}, ) КАК КадроваяИсторияСотрудниковСрезПоследних
ГДЕ
КадроваяИсторияСотрудниковСрезПоследних.ВидСобытия <> ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.Увольнение)
{ГДЕ
(КадроваяИсторияСотрудниковСрезПоследних.Организация = &Организация),
КадроваяИсторияСотрудниковСрезПоследних.Подразделение.*}
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
КадроваяИсторияСотрудников.Период,
КадроваяИсторияСотрудников.Сотрудник
ИЗ
РегистрСведений.КадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников
ГДЕ
НАЧАЛОПЕРИОДА(КадроваяИсторияСотрудников.Период, ДЕНЬ) МЕЖДУ НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ) И КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ)
{ГДЕ
(КадроваяИсторияСотрудников.Организация = &Организация),
КадроваяИсторияСотрудников.Подразделение.*}
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_СотрудникиДаты.Период КАК Период,
ВТ_СотрудникиДаты.Сотрудник КАК Сотрудник,
ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка) КАК ФизическоеЛицо,
0 КАК КоличествоСтавок,
ЗНАЧЕНИЕ(Справочник.ШтатноеРасписание.ПустаяСсылка) КАК ДолжностьПоШтатномуРасписанию,
ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка) КАК Подразделение,
ЗНАЧЕНИЕ(Перечисление.СостоянияСотрудника.ПустаяСсылка) КАК Состояние,
ЗНАЧЕНИЕ(Перечисление.ВидыЗанятости.ПустаяСсылка) КАК ВидЗанятости
ПОМЕСТИТЬ Представления_КадровыеДанныеСотрудников
ИЗ
ВТ_СотрудникиДаты КАК ВТ_СотрудникиДаты
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
Представления_КадровыеДанныеСотрудников.Период КАК Период,
Представления_КадровыеДанныеСотрудников.Сотрудник КАК Сотрудник,
Представления_КадровыеДанныеСотрудников.ФизическоеЛицо КАК ФизическоеЛицо,
Представления_КадровыеДанныеСотрудников.КоличествоСтавок КАК КоличествоСтавок,
Представления_КадровыеДанныеСотрудников.ДолжностьПоШтатномуРасписанию КАК ДолжностьПоШтатномуРасписанию,
Представления_КадровыеДанныеСотрудников.Подразделение КАК Подразделение,
Представления_КадровыеДанныеСотрудников.ДолжностьПоШтатномуРасписанию.СтатьяФинансирования КАК СтатьяФинансирования,
Представления_КадровыеДанныеСотрудников.Состояние КАК Состояние,
Представления_КадровыеДанныеСотрудников.ВидЗанятости КАК ВидЗанятости,
ТарификационныеГруппыДолжностейМедРаботников.ТарификационнаяГруппа КАК МедКатегорияДолжности
ПОМЕСТИТЬ ВТ_КадроваяИстория
ИЗ
Представления_КадровыеДанныеСотрудников КАК Представления_КадровыеДанныеСотрудников
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТарификационныеГруппыДолжностейМедРаботников КАК ТарификационныеГруппыДолжностейМедРаботников
ПО Представления_КадровыеДанныеСотрудников.ДолжностьПоШтатномуРасписанию = ТарификационныеГруппыДолжностейМедРаботников.Должность
;
//////////////////////////////////////////////////////////// ////////////////////
УНИЧТОЖИТЬ Представления_КадровыеДанныеСотрудников
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_КадроваяИстория.Сотрудник КАК Сотрудник
ПОМЕСТИТЬ ВТ_Сотрудники
ИЗ
ВТ_КадроваяИстория КАК ВТ_КадроваяИстория
СГРУППИРОВАТЬ ПО
ВТ_КадроваяИстория.Сотрудник
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
Представления_Периоды.Период КАК Период,
ВТ_Сотрудники.Сотрудник КАК Сотрудник
ПОМЕСТИТЬ ВТ_Календарь
ИЗ
Представления_Периоды КАК Представления_Периоды
ПОЛНОЕ СОЕДИНЕНИЕ ВТ_Сотрудники КАК ВТ_Сотрудники
ПО (ИСТИНА)
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_Календарь.Период КАК Период,
ВТ_Календарь.Сотрудник КАК Сотрудник,
МАКСИМУМ(ВТ_КадроваяИстория.Период) КАК ДатаКадровойИстории
ПОМЕСТИТЬ ВТ_КалендарьСДатамиДляСоединения
ИЗ
ВТ_Календарь КАК ВТ_Календарь
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_КадроваяИстория КАК ВТ_КадроваяИстория
ПО ВТ_Календарь.Сотрудник = ВТ_КадроваяИстория.Сотрудник
И ВТ_Календарь.Период >= ВТ_КадроваяИстория.Период
СГРУППИРОВАТЬ ПО
ВТ_Календарь.Период,
ВТ_Календарь.Сотрудник
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_КалендарьСДатамиДляСоединения.Период КАК Период,
ВТ_КалендарьСДатамиДляСоединения.Сотрудник КАК Сотрудник,
ВТ_КадроваяИстория.ФизическоеЛицо КАК ФизическоеЛицо,
ВТ_КадроваяИстория.КоличествоСтавок КАК КоличествоСтавок,
ВТ_КадроваяИстория.ДолжностьПоШтатномуРасписанию КАК ДолжностьПоШтатномуРасписанию,
ВТ_КадроваяИстория.Подразделение КАК Подразделение,
ВТ_КадроваяИстория.СтатьяФинансирования КАК СтатьяФинансирования,
ВТ_КадроваяИстория.Состояние КАК Состояние,
ВТ_КадроваяИстория.ВидЗанятости КАК ВидЗанятости,
ВТ_КадроваяИстория.МедКатегорияДолжности КАК МедКатегорияДолжности
ПОМЕСТИТЬ ВТ_КалендарьСотрудников
ИЗ
ВТ_КалендарьСДатамиДляСоединения КАК ВТ_КалендарьСДатамиДляСоединения
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_КадроваяИстория КАК ВТ_КадроваяИстория
ПО ВТ_КалендарьСДатамиДляСоединения.Сотрудник = ВТ_КадроваяИстория.Сотрудник
И ВТ_КалендарьСДатамиДляСоединения.ДатаКадровойИстории = ВТ_КадроваяИстория.Период
И (ВТ_КадроваяИстория.Состояние <> ЗНАЧЕНИЕ(Перечисление.СостоянияСотрудника.Увольнение))
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_КалендарьСотрудников.Период КАК Период,
ВТ_КалендарьСотрудников.ФизическоеЛицо КАК ФизическоеЛицо,
1 - ВТ_КалендарьСотрудников.КоличествоСтавок КАК НехватаетСтавок,
ВТ_КалендарьСотрудников.ДолжностьПоШтатномуРасписанию КАК ДолжностьПоШтатномуРасписанию,
ВТ_КалендарьСотрудников.Подразделение КАК Подразделение,
ВТ_КалендарьСотрудников.СтатьяФинансирования КАК СтатьяФинансирования,
ВТ_КалендарьСотрудников.Состояние КАК Состояние,
ВТ_КалендарьСотрудников.МедКатегорияДолжности КАК МедКатегорияДолжности,
ВТ_КалендарьСотрудников.ВидЗанятости КАК ВидЗанятости
ПОМЕСТИТЬ ВТ_КалендарьФизлицСНеполнойСтавкой
ИЗ
ВТ_КалендарьСотрудников КАК ВТ_КалендарьСотрудников
ГДЕ
ВТ_КалендарьСотрудников.ВидЗанятости = &ВидЗанятости
И ВТ_КалендарьСотрудников.КоличествоСтавок < 1
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_КалендарьСотрудников.Период КАК Период,
ВТ_КалендарьСотрудников.ФизическоеЛицо КАК ФизическоеЛицо,
СУММА(ВТ_КалендарьСотрудников.КоличествоСтавок) КАК КоличествоСтавок,
ВТ_КалендарьСотрудников.Подразделение КАК Подразделение,
ВТ_КалендарьСотрудников.СтатьяФинансирования КАК СтатьяФинансирования,
ВТ_КалендарьСотрудников.Состояние КАК Состояние,
ВТ_КалендарьСотрудников.МедКатегорияДолжности КАК МедКатегорияДолжности,
ВТ_КалендарьФизлицСНеполнойСтавкой.НехватаетСтавок КАК НехватаетСтавок
ПОМЕСТИТЬ ВТ_КалендарьФизлицПоВнутрСовм
ИЗ
ВТ_КалендарьСотрудников КАК ВТ_КалендарьСотрудников
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_КалендарьФизлицСНеполнойСтавкой КАК ВТ_КалендарьФизлицСНеполнойСтавкой
ПО ВТ_КалендарьСотрудников.Период = ВТ_КалендарьФизлицСНеполнойСтавкой.Период
И ВТ_КалендарьСотрудников.ФизическоеЛицо = ВТ_КалендарьФизлицСНеполнойСтавкой.ФизическоеЛицо
И (ВТ_КалендарьСотрудников.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятости.ВнутреннееСовместительство))
СГРУППИРОВАТЬ ПО
ВТ_КалендарьСотрудников.Период,
ВТ_КалендарьСотрудников.ФизическоеЛицо,
ВТ_КалендарьСотрудников.Подразделение,
ВТ_КалендарьСотрудников.СтатьяФинансирования,
ВТ_КалендарьСотрудников.Состояние,
ВТ_КалендарьСотрудников.МедКатегорияДолжности,
ВТ_КалендарьФизлицСНеполнойСтавкой.НехватаетСтавок
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_КалендарьФизлицПоВнутрСовм.Период КАК Период,
ВТ_КалендарьФизлицПоВнутрСовм.ФизическоеЛицо КАК ФизическоеЛицо,
СУММА(ВТ_КалендарьФизлицПоВнутрСовм.КоличествоСтавок) КАК СуммаСтавокПоВсемСтатьям
ПОМЕСТИТЬ ВТ_КалендарьКоличестваСтавок
ИЗ
ВТ_КалендарьФизлицПоВнутрСовм КАК ВТ_КалендарьФизлицПоВнутрСовм
СГРУППИРОВАТЬ ПО
ВТ_КалендарьФизлицПоВнутрСовм.Период,
ВТ_КалендарьФизлицПоВнутрСовм.ФизическоеЛицо
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_КалендарьСотрудников.Период КАК Период,
ВТ_КалендарьСотрудников.ФизическоеЛицо КАК ФизическоеЛицо,
ВТ_КалендарьСотрудников.КоличествоСтавок КАК КоличествоСтавок,
ВТ_КалендарьСотрудников.Подразделение КАК Подразделение,
ВТ_КалендарьСотрудников.СтатьяФинансирования КАК СтатьяФинансирования,
ВТ_КалендарьСотрудников.МедКатегорияДолжности КАК МедКатегорияДолжности,
ИСТИНА КАК ОсновнойСотрудник,
ВТ_КалендарьСотрудников.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияСотрудника.ОтпускПоУходуЗаРебенком) КАК ВОтпускеПоУходуЗаРебенком
ПОМЕСТИТЬ ВТ_ОкончательныйКалендарь
ИЗ
ВТ_КалендарьСотрудников КАК ВТ_КалендарьСотрудников
ГДЕ
ВТ_КалендарьСотрудников.ВидЗанятости = &ВидЗанятости
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ВТ_КалендарьФизлицПоВнутрСовм.Период,
ВТ_КалендарьФизлицПоВнутрСовм.ФизическоеЛицо,
ВЫБОР
КОГДА ВТ_КалендарьФизлицПоВнутрСовм.НехватаетСтавок < ВТ_КалендарьКоличестваСтавок.СуммаСтавокПоВсемСтатьям
ТОГДА ВТ_КалендарьФизлицПоВнутрСовм.КоличествоСтавок / ВТ_КалендарьКоличестваСтавок.СуммаСтавокПоВсемСтатьям
ИНАЧЕ 1
КОНЕЦ * ВТ_КалендарьФизлицПоВнутрСовм.НехватаетСтавок,
ВТ_КалендарьФизлицПоВнутрСовм.Подразделение,
ВТ_КалендарьФизлицПоВнутрСовм.СтатьяФинансирования,
ВТ_КалендарьФизлицПоВнутрСовм.МедКатегорияДолжности,
ЛОЖЬ,
ЛОЖЬ
ИЗ
ВТ_КалендарьФизлицПоВнутрСовм КАК ВТ_КалендарьФизлицПоВнутрСовм
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_КалендарьКоличестваСтавок КАК ВТ_КалендарьКоличестваСтавок
ПО ВТ_КалендарьФизлицПоВнутрСовм.Период = ВТ_КалендарьКоличестваСтавок.Период
И ВТ_КалендарьФизлицПоВнутрСовм.ФизическоеЛицо = ВТ_КалендарьКоличестваСтавок.ФизическоеЛицо
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_ОкончательныйКалендарь.Подразделение КАК Подразделение,
ВТ_ОкончательныйКалендарь.МедКатегорияДолжности КАК МедКатегорияДолжности,
ВТ_ОкончательныйКалендарь.СтатьяФинансирования КАК СтатьяФинансирования,
ВЫРАЗИТЬ(СУММА(ВЫБОР
КОГДА НЕ ВТ_ОкончательныйКалендарь.ВОтпускеПоУходуЗаРебенком
ТОГДА ВТ_ОкончательныйКалендарь.КоличествоСтавок
ИНАЧЕ 0
КОНЕЦ) / (РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ДЕНЬ) + 1) КАК ЧИСЛО(15, 2)) КАК СреднесписочнаяЧисленность,
КОЛИЧЕСТВО(ВЫБОР
КОГДА РАЗНОСТЬДАТ(ВТ_ОкончательныйКалендарь.Период, &КонецПериода, ДЕНЬ) = 0
И НЕ ВТ_ОкончательныйКалендарь.ВОтпускеПоУходуЗаРебенком
И ВТ_ОкончательныйКалендарь.ОсновнойСотрудник
ТОГДА ВТ_ОкончательныйКалендарь.ФизическоеЛицо
ИНАЧЕ NULL
КОНЕЦ) КАК КоличествоНаКонецПериода,
КОЛИЧЕСТВО(ВЫБОР
КОГДА РАЗНОСТЬДАТ(ВТ_ОкончательныйКалендарь.Период, &КонецПериода, ДЕНЬ) = 0
И ВТ_ОкончательныйКалендарь.ВОтпускеПоУходуЗаРебенком
ТОГДА ВТ_ОкончательныйКалендарь.ФизическоеЛицо
ИНАЧЕ NULL
КОНЕЦ) КАК КоличествоВОтпускеПоУходуЗаРебенкомНаКонецПериода
ИЗ
ВТ_ОкончательныйКалендарь КАК ВТ_ОкончательныйКалендарь
СГРУППИРОВАТЬ ПО
ВТ_ОкончательныйКалендарь.Подразделение,
ВТ_ОкончательныйКалендарь.МедКатегорияДолжности,
ВТ_ОкончательныйКалендарь.СтатьяФинансирования
ПоказатьПростите пожалуйста если что-то не правильно написал.
По теме из базы знаний
- Конфигурация Flowcon: Набор инструментов для управления задачами, проектами и бизнесом в 1С
- Не спеша, эффективно и правильно – путь разработки. Часть 3. Практика
- Загрузка чеков в 1С из ФНС в документы БП, УНФ, ERP, КА и УТ
- Правильные правила именования номенклатуры в Рознице (и Ювелирном магазине тоже)
- Интеграция Честный Знак и 1C: обмен и синхронизация с маркировками для УТ11,УНФ,КА2,ERP,Розница:Расширение для работы с СУЗ,ГИСМТ,СБИС,Эдо-Лайт
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот