(ЗУП 3.1.8) программно получить расчетную базу по сотру

1. vechiy 35 19.02.19 16:23 Сейчас в теме
Для доработки расчета премии в документе "премия" требуется по каждому сотруднику из списка получать расчетную базу за период
Как это можно сделать программно?
В документе это делается кнопкой "заполнить показатели", которая вызывает общую форму. Сам код где рассчитывается база найти не могу

Вот есть такая функция, мб кто пользовался?
РасчетБазыНачислений = РасчетЗарплатыРасширенный.РасчетБазыНачислений(МенеджерВременныхТаблиц, ОписаниеРасчитываемогоНабора, МенеджерДанныхУчетаВремени, МенеджерКадровогоУчета())
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. vechiy 35 19.02.19 17:15 Сейчас в теме
3. Anion86 19.02.19 17:19 Сейчас в теме
Вопрос прям на тендер тянет =)
Там не все так просто , проще самому сделать , быстрее будет ... там запросы идут по выборки начислений и сумм из регистров сведений Плановые начисления и Значения периодических показателей расчета зарплаты (для сотрудников) ... не помню ставки нужны не нужны или уже там посчитано все .
Bene_Valete; +1 Ответить
5. vechiy 35 19.02.19 17:26 Сейчас в теме
(3) только что-то не пойму, самому как сделать, запрос к расчетам?
6. Anion86 19.02.19 17:36 Сейчас в теме
(5)база рассчитывается исходя из действующих Плановых начислений и Значений показателей , естественно все на срез последних делается , соответственно и запрос к ним к этим регистрам нужно делать.
4. vechiy 35 19.02.19 17:21 Сейчас в теме
да я вижу в отладчике что непросто

есть вот вроде ключевая функция, но я не пойму как сформировать нужные параметры

Функция РасчетБазыУдержаний(МенеджерВременныхТаблиц, ОписаниеРасчитываемогоНабораУдержаний, МенеджерДанныхУчетаВремени = Неопределено, МенеджерКадровогоУчета = Неопределено) Экспорт
УстановитьПривилегированныйРежим(Истина);
РасчетБазыУдержаний = Обработки.РасчетБазыНачисленийУдержаний.Создать();
УстановитьПривилегированныйРежим(Ложь);

РасчетБазыУдержаний.УстановитьРасчитывемыйНаборУдержаний(МенеджерВременныхТаблиц, ОписаниеРасчитываемогоНабораУдержаний, МенеджерДанныхУчетаВремени, МенеджерКадровогоУчета);

Возврат РасчетБазыУдержаний;
КонецФункции
7. ben19791010 20.02.19 07:36 Сейчас в теме
где то уже поднимали такой вопрос ранее, искайте
8. vechiy 35 20.02.19 09:55 Сейчас в теме
(7) только там увы конечного решения не было
9. vechiy 35 20.02.19 16:47 Сейчас в теме
11. Matador 117 22.02.19 07:42 Сейчас в теме
(9)

Добрый день.

- либо пишете запрос к регистру расчета, и получаете базу
- либо используете типовые функции гл.модулей.

конечная цель какая запустить расчет ? он и типовым способом запускается и считает.
10. Plash 4 21.02.19 12:42 Сейчас в теме
Пробуй.

ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
	СведенияОДоходахНДФЛОбороты.ФизическоеЛицо КАК ФизическоеЛицо
ПОМЕСТИТЬ ФизЛица
ИЗ
	РегистрНакопления.СведенияОДоходахНДФЛ.Обороты(, , Регистратор, МесяцНалоговогоПериода МЕЖДУ &НачПер И &КонПер) КАК СведенияОДоходахНДФЛОбороты
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
	НАЧАЛОПЕРИОДА(СведенияОДоходахНДФЛОбороты.МесяцНалоговогоПериода, МЕСЯЦ) КАК МесяцНалоговогоПериода
ПОМЕСТИТЬ Периоды
ИЗ
	РегистрНакопления.СведенияОДоходахНДФЛ.Обороты(, , Регистратор, МесяцНалоговогоПериода МЕЖДУ &НачПер И &КонПер) КАК СведенияОДоходахНДФЛОбороты
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ФизЛица.ФизическоеЛицо КАК ФизическоеЛицо,
	Периоды.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода
ПОМЕСТИТЬ ФЛПериоды
ИЗ
	ФизЛица КАК ФизЛица,
	Периоды КАК Периоды
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ФЛПериоды.ФизическоеЛицо КАК ФизическоеЛицо,
	ФЛПериоды.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода,
	МАКСИМУМ(НАЧАЛОПЕРИОДА(СтатусФизическихЛицКакНалогоплательщиковНДФЛ.Период, МЕСЯЦ)) КАК Период
ПОМЕСТИТЬ ДатыСтатусов
ИЗ
	ФЛПериоды КАК ФЛПериоды
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтатусФизическихЛицКакНалогоплательщиковНДФЛ КАК СтатусФизическихЛицКакНалогоплательщиковНДФЛ
		ПО ФЛПериоды.ФизическоеЛицо = СтатусФизическихЛицКакНалогоплательщиковНДФЛ.ФизическоеЛицо
			И (ФЛПериоды.МесяцНалоговогоПериода >= НАЧАЛОПЕРИОДА(СтатусФизическихЛицКакНалогоплательщиковНДФЛ.Период, МЕСЯЦ))

СГРУППИРОВАТЬ ПО
	ФЛПериоды.ФизическоеЛицо,
	ФЛПериоды.МесяцНалоговогоПериода
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ДатыСтатусов.ФизическоеЛицо КАК ФизическоеЛицо,
	ДатыСтатусов.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода,
	ЕСТЬ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(Статусы.Статус, ЗНАЧЕНИЕ(Справочник.СтатусыНалогоплательщиковПоНДФЛ.Резидент))
ИЗ
	РегистрНакопления.ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.Обороты(, , Регистратор, МесяцНалоговогоПериода МЕЖДУ &НачПер И &КонПер) КАК ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛОбороты
		ЛЕВОЕ СОЕДИНЕНИЕ СТАТУСЫ КАК Статусы
		ПО ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛОбороты.ФизическоеЛицо = Статусы.ФизическоеЛицо
			И (НАЧАЛОПЕРИОДА(ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛОбороты.МесяцНалоговогоПериода, МЕСЯЦ) = Статусы.МесяцНалоговогоПериода)
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот