(ЗУП 3.1.8) программно получить расчетную базу по сотру
Для доработки расчета премии в документе "премия" требуется по каждому сотруднику из списка получать расчетную базу за период
Как это можно сделать программно?
В документе это делается кнопкой "заполнить показатели", которая вызывает общую форму. Сам код где рассчитывается база найти не могу
Вот есть такая функция, мб кто пользовался?
РасчетБазыНачислений = РасчетЗарплатыРасширенный.РасчетБазыНачислений(МенеджерВременныхТаблиц, ОписаниеРасчитываемогоНабора, МенеджерДанныхУчетаВремени, МенеджерКадровогоУчета())
Как это можно сделать программно?
В документе это делается кнопкой "заполнить показатели", которая вызывает общую форму. Сам код где рассчитывается база найти не могу
Вот есть такая функция, мб кто пользовался?
РасчетБазыНачислений = РасчетЗарплатыРасширенный.РасчетБазыНачислений(МенеджерВременныхТаблиц, ОписаниеРасчитываемогоНабора, МенеджерДанныхУчетаВремени, МенеджерКадровогоУчета())
По теме из базы знаний
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
Вопрос прям на тендер тянет =)
Там не все так просто , проще самому сделать , быстрее будет ... там запросы идут по выборки начислений и сумм из регистров сведений Плановые начисления и Значения периодических показателей расчета зарплаты (для сотрудников) ... не помню ставки нужны не нужны или уже там посчитано все .
Там не все так просто , проще самому сделать , быстрее будет ... там запросы идут по выборки начислений и сумм из регистров сведений Плановые начисления и Значения периодических показателей расчета зарплаты (для сотрудников) ... не помню ставки нужны не нужны или уже там посчитано все .
да я вижу в отладчике что непросто
есть вот вроде ключевая функция, но я не пойму как сформировать нужные параметры
Функция РасчетБазыУдержаний(МенеджерВременныхТаблиц, ОписаниеРасчитываемогоНабораУдержаний, МенеджерДанныхУчетаВремени = Неопределено, МенеджерКадровогоУчета = Неопределено) Экспорт
УстановитьПривилегированныйРежим(Истина);
РасчетБазыУдержаний = Обработки.РасчетБазыНачисленийУдержаний.Создать();
УстановитьПривилегированныйРежим(Ложь);
РасчетБазыУдержаний.УстановитьРасчитывемыйНаборУдержаний(МенеджерВременныхТаблиц, ОписаниеРасчитываемогоНабораУдержаний, МенеджерДанныхУчетаВремени, МенеджерКадровогоУчета);
Возврат РасчетБазыУдержаний;
КонецФункции
есть вот вроде ключевая функция, но я не пойму как сформировать нужные параметры
Функция РасчетБазыУдержаний(МенеджерВременныхТаблиц, ОписаниеРасчитываемогоНабораУдержаний, МенеджерДанныхУчетаВремени = Неопределено, МенеджерКадровогоУчета = Неопределено) Экспорт
УстановитьПривилегированныйРежим(Истина);
РасчетБазыУдержаний = Обработки.РасчетБазыНачисленийУдержаний.Создать();
УстановитьПривилегированныйРежим(Ложь);
РасчетБазыУдержаний.УстановитьРасчитывемыйНаборУдержаний(МенеджерВременныхТаблиц, ОписаниеРасчитываемогоНабораУдержаний, МенеджерДанныхУчетаВремени, МенеджерКадровогоУчета);
Возврат РасчетБазыУдержаний;
КонецФункции
Пробуй.
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
СведенияОДоходахНДФЛОбороты.ФизическоеЛицо КАК ФизическоеЛицо
ПОМЕСТИТЬ ФизЛица
ИЗ
РегистрНакопления.СведенияОДоходахНДФЛ.Обороты(, , Регистратор, МесяцНалоговогоПериода МЕЖДУ &НачПер И &КонПер) КАК СведенияОДоходахНДФЛОбороты
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
НАЧАЛОПЕРИОДА(СведенияОДоходахНДФЛОбороты.МесяцНалоговогоПериода, МЕСЯЦ) КАК МесяцНалоговогоПериода
ПОМЕСТИТЬ Периоды
ИЗ
РегистрНакопления.СведенияОДоходахНДФЛ.Обороты(, , Регистратор, МесяцНалоговогоПериода МЕЖДУ &НачПер И &КонПер) КАК СведенияОДоходахНДФЛОбороты
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ФизЛица.ФизическоеЛицо КАК ФизическоеЛицо,
Периоды.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода
ПОМЕСТИТЬ ФЛПериоды
ИЗ
ФизЛица КАК ФизЛица,
Периоды КАК Периоды
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ФЛПериоды.ФизическоеЛицо КАК ФизическоеЛицо,
ФЛПериоды.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода,
МАКСИМУМ(НАЧАЛОПЕРИОДА(СтатусФизическихЛицКакНалогоплательщиковНДФЛ.Период, МЕСЯЦ)) КАК Период
ПОМЕСТИТЬ ДатыСтатусов
ИЗ
ФЛПериоды КАК ФЛПериоды
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтатусФизическихЛицКакНалогоплательщиковНДФЛ КАК СтатусФизическихЛицКакНалогоплательщиковНДФЛ
ПО ФЛПериоды.ФизическоеЛицо = СтатусФизическихЛицКакНалогоплательщиковНДФЛ.ФизическоеЛицо
И (ФЛПериоды.МесяцНалоговогоПериода >= НАЧАЛОПЕРИОДА(СтатусФизическихЛицКакНалогоплательщиковНДФЛ.Период, МЕСЯЦ))
СГРУППИРОВАТЬ ПО
ФЛПериоды.ФизическоеЛицо,
ФЛПериоды.МесяцНалоговогоПериода
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ДатыСтатусов.ФизическоеЛицо КАК ФизическоеЛицо,
ДатыСтатусов.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода,
ЕСТЬNULL(СтатусФизическихЛицКакНалогоплательщиковНДФЛ.Статус, ЗНАЧЕНИЕ(Справочник.СтатусыНалогоплательщиковПоНДФЛ.Резидент)) КАК Статус
ПОМЕСТИТЬ СТАТУСЫ
ИЗ
ДатыСтатусов КАК ДатыСтатусов
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтатусФизическихЛицКакНалогоплательщиковНДФЛ КАК СтатусФизическихЛицКакНалогоплательщиковНДФЛ
ПО ДатыСтатусов.ФизическоеЛицо = СтатусФизическихЛицКакНалогоплательщиковНДФЛ.ФизическоеЛицо
И (ДатыСтатусов.Период = НАЧАЛОПЕРИОДА(СтатусФизическихЛицКакНалогоплательщиковНДФЛ.Период, МЕСЯЦ))
ИНДЕКСИРОВАТЬ ПО
ФизическоеЛицо,
МесяцНалоговогоПериода
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
СведенияОДоходахНДФЛОбороты.ФизическоеЛицо КАК ФизическоеЛицо,
НАЧАЛОПЕРИОДА(СведенияОДоходахНДФЛОбороты.МесяцНалоговогоПериода, МЕСЯЦ) КАК МесяцНалоговогоПериода,
"" КАК ГодНалоговогоПериода,
СведенияОДоходахНДФЛОбороты.СуммаДоходаОборот КАК Доход,
ВЫБОР
КОГДА СведенияОДоходахНДФЛОбороты.КодДохода.Код = "2610"
ИЛИ СведенияОДоходахНДФЛОбороты.КодДохода.Код = "2740"
ТОГДА 0
ИНАЧЕ СведенияОДоходахНДФЛОбороты.СуммаДоходаОборот
КОНЕЦ КАК Доход13,
ВЫБОР
КОГДА СведенияОДоходахНДФЛОбороты.КодДохода.Код = "2610"
ИЛИ СведенияОДоходахНДФЛОбороты.КодДохода.Код = "2740"
ТОГДА СведенияОДоходахНДФЛОбороты.СуммаДоходаОборот
ИНАЧЕ 0
КОНЕЦ КАК Доход35,
СведенияОДоходахНДФЛОбороты.КодДохода КАК КодДохода,
СведенияОДоходахНДФЛОбороты.КатегорияДохода КАК КатегорияДохода,
ВЫБОР
КОГДА СведенияОДоходахНДФЛОбороты.КодВычета.ГруппаВычета = ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.Социальные)
ТОГДА СведенияОДоходахНДФЛОбороты.СуммаВычетаОборот
КОГДА СведенияОДоходахНДФЛОбороты.КодВычета.ГруппаВычета = ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.СоциальныеПоУведомлениюНО)
ТОГДА СведенияОДоходахНДФЛОбороты.СуммаВычетаОборот
ИНАЧЕ 0
КОНЕЦ КАК Вычет,
ВЫБОР
КОГДА СведенияОДоходахНДФЛОбороты.КодВычета.ГруппаВычета = ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.Имущественные)
ТОГДА СведенияОДоходахНДФЛОбороты.СуммаВычетаОборот
ИНАЧЕ 0
КОНЕЦ КАК ВычетИмущРасход,
ВЫБОР
КОГДА СведенияОДоходахНДФЛОбороты.КодВычета.ГруппаВычета = ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.Стандартные)
ТОГДА СведенияОДоходахНДФЛОбороты.СуммаВычетаОборот
КОГДА СведенияОДоходахНДФЛОбороты.КодВычета.ГруппаВычета = ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.СтандартныеНаДетей)
ТОГДА СведенияОДоходахНДФЛОбороты.СуммаВычетаОборот
ИНАЧЕ 0
КОНЕЦ КАК ВычетСтандарт,
ВЫБОР
КОГДА НЕ СведенияОДоходахНДФЛОбороты.КодВычета.ГруппаВычета В (ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.Стандартные), ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.СтандартныеНаДетей), ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.Имущественные), ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.Социальные), ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.СоциальныеПоУведомлениюНО))
ТОГДА СведенияОДоходахНДФЛОбороты.СуммаВычетаОборот
ИНАЧЕ 0
КОНЕЦ КАК ВычетПрочий,
СведенияОДоходахНДФЛОбороты.КодВычета КАК КодВычета,
СведенияОДоходахНДФЛОбороты.РегистрацияВНалоговомОргане КАК РегистрацияВНалоговомОргане,
СведенияОДоходахНДФЛОбороты.СтавкаНалогообложения КАК СтавкаНалогообложения,
СведенияОДоходахНДФЛОбороты.Регистратор КАК Регистратор,
ЕСТЬNULL(Статусы.Статус, ЗНАЧЕНИЕ(Справочник.СтатусыНалогоплательщиковПоНДФЛ.Резидент)) КАК Статус
ИЗ
РегистрНакопления.СведенияОДоходахНДФЛ.Обороты(, , Регистратор, МесяцНалоговогоПериода МЕЖДУ &НачПер И &КонПер) КАК СведенияОДоходахНДФЛОбороты
ВНУТРЕННЕЕ СОЕДИНЕНИЕ СТАТУСЫ КАК Статусы
ПО СведенияОДоходахНДФЛОбороты.ФизическоеЛицо = Статусы.ФизическоеЛицо
И (НАЧАЛОПЕРИОДА(СведенияОДоходахНДФЛОбороты.МесяцНалоговогоПериода, МЕСЯЦ) = Статусы.МесяцНалоговогоПериода)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ИмущественныеВычетыНДФЛОбороты.ФизическоеЛицо,
НАЧАЛОПЕРИОДА(ИмущественныеВычетыНДФЛОбороты.Период, МЕСЯЦ),
ИмущественныеВычетыНДФЛОбороты.Год,
0,
0,
0,
"",
"",
ВЫБОР
КОГДА ИмущественныеВычетыНДФЛОбороты.КодВычета.ГруппаВычета = ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.Социальные)
ТОГДА ИмущественныеВычетыНДФЛОбороты.СуммаРасход
КОГДА ИмущественныеВычетыНДФЛОбороты.КодВычета.ГруппаВычета = ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.СоциальныеПоУведомлениюНО)
ТОГДА ИмущественныеВычетыНДФЛОбороты.СуммаРасход
ИНАЧЕ 0
КОНЕЦ,
ВЫБОР
КОГДА ИмущественныеВычетыНДФЛОбороты.КодВычета.ГруппаВычета = ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.Имущественные)
ТОГДА ИмущественныеВычетыНДФЛОбороты.СуммаРасход
ИНАЧЕ 0
КОНЕЦ,
ВЫБОР
КОГДА ИмущественныеВычетыНДФЛОбороты.КодВычета.ГруппаВычета = ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.Стандартные)
ТОГДА ИмущественныеВычетыНДФЛОбороты.СуммаРасход
КОГДА ИмущественныеВычетыНДФЛОбороты.КодВычета.ГруппаВычета = ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.СтандартныеНаДетей)
ТОГДА ИмущественныеВычетыНДФЛОбороты.СуммаРасход
ИНАЧЕ 0
КОНЕЦ,
ВЫБОР
КОГДА НЕ ИмущественныеВычетыНДФЛОбороты.КодВычета.ГруппаВычета В (ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.Стандартные), ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.СтандартныеНаДетей), ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.Имущественные), ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.Социальные), ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.СоциальныеПоУведомлениюНО))
ТОГДА ИмущественныеВычетыНДФЛОбороты.СуммаРасход
ИНАЧЕ 0
КОНЕЦ,
ИмущественныеВычетыНДФЛОбороты.КодВычета,
"",
"",
ИмущественныеВычетыНДФЛОбороты.Регистратор,
ЕСТЬNULL(Статусы.Статус, ЗНАЧЕНИЕ(Справочник.СтатусыНалогоплательщиковПоНДФЛ.Резидент))
ИЗ
РегистрНакопления.ИмущественныеВычетыНДФЛ.Обороты(&НачПер, &КонПер, Регистратор, ) КАК ИмущественныеВычетыНДФЛОбороты
ЛЕВОЕ СОЕДИНЕНИЕ СТАТУСЫ КАК Статусы
ПО ИмущественныеВычетыНДФЛОбороты.ФизическоеЛицо = Статусы.ФизическоеЛицо
И (НАЧАЛОПЕРИОДА(ИмущественныеВычетыНДФЛОбороты.Период, МЕСЯЦ) = Статусы.МесяцНалоговогоПериода)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛОбороты.ФизическоеЛицо,
НАЧАЛОПЕРИОДА(ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛОбороты.МесяцНалоговогоПериода, МЕСЯЦ),
"",
0,
0,
0,
"",
"",
ВЫБОР
КОГДА ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛОбороты.КодВычета.ГруппаВычета = ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.Социальные)
ТОГДА ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛОбороты.СуммаОборот
КОГДА ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛОбороты.КодВычета.ГруппаВычета = ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.СоциальныеПоУведомлениюНО)
ТОГДА ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛОбороты.СуммаОборот
ИНАЧЕ 0
КОНЕЦ,
ВЫБОР
КОГДА ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛОбороты.КодВычета.ГруппаВычета = ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.Имущественные)
ТОГДА ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛОбороты.СуммаОборот
ИНАЧЕ 0
КОНЕЦ,
ВЫБОР
КОГДА ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛОбороты.КодВычета.ГруппаВычета = ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.Стандартные)
ТОГДА ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛОбороты.СуммаОборот
КОГДА ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛОбороты.КодВычета.ГруппаВычета = ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.СтандартныеНаДетей)
ТОГДА ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛОбороты.СуммаОборот
ИНАЧЕ 0
КОНЕЦ,
ВЫБОР
КОГДА НЕ ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛОбороты.КодВычета.ГруппаВычета В (ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.Стандартные), ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.СтандартныеНаДетей), ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.Имущественные), ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.Социальные), ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.СоциальныеПоУведомлениюНО))
ТОГДА ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛОбороты.СуммаОборот
ИНАЧЕ 0
КОНЕЦ,
ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛОбороты.КодВычета,
ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛОбороты.РегистрацияВНалоговомОргане,
"",
ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛОбороты.Регистратор,
ЕСТЬNULL(Статусы.Статус, ЗНАЧЕНИЕ(Справочник.СтатусыНалогоплательщиковПоНДФЛ.Резидент))
ИЗ
РегистрНакопления.ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.Обороты(, , Регистратор, МесяцНалоговогоПериода МЕЖДУ &НачПер И &КонПер) КАК ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛОбороты
ЛЕВОЕ СОЕДИНЕНИЕ СТАТУСЫ КАК Статусы
ПО ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛОбороты.ФизическоеЛицо = Статусы.ФизическоеЛицо
И (НАЧАЛОПЕРИОДА(ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛОбороты.МесяцНалоговогоПериода, МЕСЯЦ) = Статусы.МесяцНалоговогоПериода)
Показать