Вернуться   Бухгалтерский форум www.nado.in > 1C: Предприятие + все конфигурации > 1C: Предприятие + конфигурации для Украины

Ответ
 
Опции темы
Старый 18.05.2016, 10:38   #1
ivisor
Новичок
 
Регистрация: 18.12.2011
Сообщений: 27
Сказал(а) спасибо: 12
Поблагодарили 44 раз(а) в 9 сообщениях
ivisor пока не определено
По умолчанию 8.2 УТП Расчет индексации при повышении оклада

Подскажите пожалуйста:

Человеку повысили оклад, у него ранее была фиксированная индексация.
Вводится документ: ВводСведенийОПлановыхНачисленияхУдержаниях.
При его расчете на закладке "Начисления для индексации" в первой табличке (таблица ДО) появляется строка "Индексация зарплата", но рассчитанная там сумма неверна: там всегда стоит индексация начиная с даты приема, без учета предыдущих повышений оклада, а этому сотруднику ранее повышался оклад и у него была фиксированная индексация. Документ этого не видит.
Если сделать расчет индексации в документе "Начисление зарплаты", то там индексация считается правильно ...

Должен ли (при повышение оклада) документ ВводСведенийОПлановыхНачисленияхУдержаниях рассчитывать индексацию и исходя из нее определять фиксированную индексацию, если таковая возникает?
Просто у меня при повышении оклада этот документ считает индексацию, но считает ее не правильно. Мне сказали что он (документ) и не должен ее (индексацию) считать.
Хочу понять прав я или ошибаюсь.
И если не прав, то какой документ должен определять фикс. индексацию при повышении оклада?
Я вроде бы разобрался почему ВводСведенийОПлановыхНачисленияхУдержаниях считает неправильно, но не знаю как это устранить.
Поэтому для начала хотел бы узнать надо ли "устранять" а то может действительно я просто не тот документ использую smile.gif

П.С. если кому интересно моё мнение, то проблема в том, что при расчете индексации всё завязано на запрос к регистру "Начисления" (общий модуль ПроведениеРасчетов, Функция ПолучитьДанныеДляРасчета)
Код:
ВЫБРАТЬ 
        Доход.Сотрудник                                    КАК Сотрудник, 
        Доход.ПодразделениеОрганизации                    КАК ПодразделениеОрганизации,
        Доход.Должность                                    КАК Должность,
        Доход.Регистратор                                КАК Регистратор,
        НАЧАЛОПЕРИОДА(Доход.БазовыйПериодНачало, МЕСЯЦ)    КАК ДатаНачала 
ПОМЕСТИТЬ ВТИндексироватьСотрудниковПоПериодам    
ИЗ РегистрРасчета.Начисления КАК Доход
ГДЕ        Доход.Регистратор = &парамРегистратор 
                        И    Доход.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.Начисления.ИндексацияЗарплаты) 
                        И    Доход.ВидРасчета.СпособРасчета = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ИндексацияЗарплаты)
А поскольку документ ВводСведенийОПлановыхНачисленияхУдержаниях не делает записей в регистр "Начисления", то из-за условия Доход.Регистратор = &парамРегистратор запрос всегда будет возвращаться пустой и все дальнейшие левые соединения остальных запросов к пустому множеству ... безнадежное дело smile.gif
Соответственно док НачисдениеЗП делает записи по регистру Начисления и потому возвращает правильный результат. т.к. в этом случае запрос всегда возвращает результат.

Сам вопорс в том - должен ли документ ВводСведенийОПлановыхНачисленияхУдержаниях считать фикс. индексацию или надо использовать другой? (какой?)
И, если должен, то как исправить ситуацию?
ivisor вне форума   Ответить с цитированием
Старый 18.05.2016, 14:28   #2
DUH
Местный
 
Аватар для DUH
 
Регистрация: 07.02.2013
Адрес: Kyiv
Сообщений: 538
Сказал(а) спасибо: 86
Поблагодарили 753 раз(а) в 134 сообщениях
DUH пока не определено
Отправить сообщение для DUH с помощью ICQ Отправить сообщение для DUH с помощью AIM Отправить сообщение для DUH с помощью Skype™
Подмигивание

Цитата:
Сообщение от ivisor Посмотреть сообщение
.......
Сам вопорс в том - должен ли документ ВводСведенийОПлановыхНачисленияхУдержаниях считать фикс. индексацию или надо использовать другой? (какой?)
Ну он, как бы рассчитывает - но, далее (под капотом) ;)


Код:
ТекстЗапроса = "
//......................

ЕСТЬNULL(ТаблицаФиксированнаяИндексация.Результат, 0) КАК ФиксированнаяИндексацияДо,

//......................
ВЫБОР
    |        КОГДА ЕСТЬNULL(ДоходыПосле.Результат, 0) = 0
    |            ТОГДА 0
    |        КОГДА ЕСТЬNULL(ДоходыПосле.Результат, 0) <= ЕСТЬNULL(ДоходыДоБезИндексации.Результат, 0)
    |            ТОГДА 0
    |        ИНАЧЕ ЕСТЬNULL(ДоходыПосле.Результат, 0) - ЕСТЬNULL(ДоходыДоБезИндексации.Результат, 0)
    |    КОНЕЦ КАК Повышение,
//......................
        |ВЫБОР
	|		КОГДА ЕСТЬNULL(ДоходыПосле.Результат, 0) = 0
	|			ТОГДА 0
	|		КОГДА ЕСТЬNULL(ДоходыПосле.Результат, 0) > ЕСТЬNULL(ДоходыДо.Результат, 0)
	|			ТОГДА 0
	|		КОГДА ЕСТЬNULL(ДоходыДо.Результат, 0) - ЕСТЬNULL(ДоходыПосле.Результат, 0) > ЕСТЬNULL(ТаблицаФиксированнаяИндексация.Результат, 0)
	|			ТОГДА ЕСТЬNULL(ДоходыДо.Результат, 0) - ЕСТЬNULL(ДоходыПосле.Результат, 0)
	|		ИНАЧЕ ЕСТЬNULL(ТаблицаФиксированнаяИндексация.Результат, 0)
	|	КОНЕЦ КАК ФиксированнаяИндексация,
//........................................ 
;

//При обходе результата запроса!

ТЗРаботникиОрганизации = Запрос.Выполнить().Выгрузить();
    
    Для Каждого Работник из ТЗРаботникиОрганизации Цикл
        Если Работник.Повышение <=0 И
            Работник.ФиксированнаяИндексация > 0 Тогда
            //Что делать с фиксированной индексацией в этом случае - не известно
            //Будем считать, что она остается прежней (не увеличивается, не закрывается)
            Работник.ФиксированнаяИндексация = Работник.ФиксированнаяИндексацияДо;
        КонецЕсли;
    КонецЦикла;
Цитата:
//Что делать с фиксированной индексацией в этом случае - не известно
//Будем считать, что она остается прежней (не увеличивается, не закрывается)
Комментарии самой 1C "ABBYY Ukraine" )))


__________________
1С Developer (За умение пользоваться гуглом, вордом и пейнтом меня в офисе называют [Ссылки доступны только зарегистрированным пользователям . Регистрируйся тут...].)

Последний раз редактировалось DUH; 18.05.2016 в 14:44.
DUH вне форума   Ответить с цитированием
Старый 18.05.2016, 14:37   #3
ivisor
Новичок
 
Регистрация: 18.12.2011
Сообщений: 27
Сказал(а) спасибо: 12
Поблагодарили 44 раз(а) в 9 сообщениях
ivisor пока не определено
По умолчанию

Цитата:
Сообщение от DUH Посмотреть сообщение
Комментарии самой 1C "ABBYY Ukraine" )))
По поводу?
А то я не догоняю как это применимо для моей проблемы ...
Тут, насколько я понял, запрос по фиксированной индексации (я подозреваю, что я до этой проблемы еще не дошел ), а я говорил о неправильном определении базового периода и соответственно неправильном расчете для документов вида ВводСведенийОПлановыхНачисленияхУдержаниях.
ivisor вне форума   Ответить с цитированием
Старый 18.05.2016, 14:47   #4
DUH
Местный
 
Аватар для DUH
 
Регистрация: 07.02.2013
Адрес: Kyiv
Сообщений: 538
Сказал(а) спасибо: 86
Поблагодарили 753 раз(а) в 134 сообщениях
DUH пока не определено
Отправить сообщение для DUH с помощью ICQ Отправить сообщение для DUH с помощью AIM Отправить сообщение для DUH с помощью Skype™
Подмигивание

Цитата:
Сообщение от ivisor Посмотреть сообщение
По поводу?
А то я не догоняю как это применимо для моей проблемы ...
Тут, насколько я понял, запрос по фиксированной индексации (я подозреваю, что я до этой проблемы еще не дошел ), а я говорил о неправильном определении базового периода и соответственно неправильном расчете для документов вида ВводСведенийОПлановыхНачисленияхУдержаниях.
Написал ответ на вопрос, постом выше.
__________________
1С Developer (За умение пользоваться гуглом, вордом и пейнтом меня в офисе называют [Ссылки доступны только зарегистрированным пользователям . Регистрируйся тут...].)
DUH вне форума   Ответить с цитированием
Старый 18.05.2016, 16:21   #5
Kerberos
Местный
 
Регистрация: 30.03.2014
Сообщений: 444
Сказал(а) спасибо: 226
Поблагодарили 708 раз(а) в 123 сообщениях
Kerberos пока не определено
По умолчанию

Цитата:
Сообщение от ivisor Посмотреть сообщение
Подскажите пожалуйста:

Человеку повысили оклад, у него ранее была фиксированная индексация.
Вводится документ: ВводСведенийОПлановыхНачисленияхУдержаниях.

Сам вопорс в том - должен ли документ ВводСведенийОПлановыхНачисленияхУдержаниях считать фикс. индексацию или надо использовать другой? (какой?)
И, если должен, то как исправить ситуацию?
1. Возможно, не везде при повышении оклада проставлен флаг Индексация заработка = 1.00
2. Не введен документ Изменение параметров расчета индексации (по должностям)

Вы ответили сами, программа не видит базовый месяц повышения оклада. Так установите его!! :-)
Kerberos вне форума   Ответить с цитированием
Старый 18.05.2016, 18:05   #6
ivisor
Новичок
 
Регистрация: 18.12.2011
Сообщений: 27
Сказал(а) спасибо: 12
Поблагодарили 44 раз(а) в 9 сообщениях
ivisor пока не определено
По умолчанию

Цитата:
Сообщение от Kerberos Посмотреть сообщение
Вы ответили сами, программа не видит базовый месяц повышения оклада. Так установите его!! :-)
Вы видимо невнимательно прочли мой пост - НЕ вся программа не видит базовый месяц, а 1 конкретный документ: "ввод сведений ..."
Док. "Начисление ЗП" всё прекрасно видит. Используют они одну и ту же процедуру общего модуля, а результаты выходят разные.
"Начисление ЗП" правильно видит базовый месяц - как месяц последнего повышения, а "Ввод сведений" - как дату приема на работу.
Если бы они оба не видели, тогда я понимаю - проблема в неправильном вводе информации, но разве тогда бы документ "Начисление ЗП" показывал бы правильный базовый месяц?
Я все таки думаю что косяк в запросе.
У вас Документ Ввод сведений правильно определяет базовый месяц, если у человека базовый месяц НЕ дата приема на работу, а дата предыдущего повышения оклада?

Последний раз редактировалось ivisor; 18.05.2016 в 18:21.
ivisor вне форума   Ответить с цитированием
Старый 18.05.2016, 19:30   #7
Kerberos
Местный
 
Регистрация: 30.03.2014
Сообщений: 444
Сказал(а) спасибо: 226
Поблагодарили 708 раз(а) в 123 сообщениях
Kerberos пока не определено
По умолчанию

Цитата:
Сообщение от ivisor Посмотреть сообщение
Вы видимо невнимательно прочли мой пост - НЕ вся программа не видит базовый месяц, а 1 конкретный документ: "ввод сведений ..."
Док. "Начисление ЗП" всё прекрасно видит. Используют они одну и ту же процедуру общего модуля, а результаты выходят разные.
"Начисление ЗП" правильно видит базовый месяц - как месяц последнего повышения, а "Ввод сведений" - как дату приема на работу.
Если бы они оба не видели, тогда я понимаю - проблема в неправильном вводе информации, но разве тогда бы документ "Начисление ЗП" показывал бы правильный базовый месяц?
Я все таки думаю что косяк в запросе.
У вас Документ Ввод сведений правильно определяет базовый месяц, если у человека базовый месяц НЕ дата приема на работу, а дата предыдущего повышения оклада?
Например, одна из зарегистрированных проблем
Документ "Изменение параметров расчета индексации", "Ввод сведений о плановых начислениях и удержаниях", "Кадровое перемещение организаций" при расчете индексации игнорирует новый базовый период, установленный документом "Изменение параметров расчета индексации (по должностям)"
Так что, возможно, это, действительно ошибка конфигурации.
Из вашего примера не ясно, каким документом Повышали раньше оклад, а каким Фиксировали базовый месяц.
Т.б. глюк. А попробуйте документом Кадровое перемещение, мне однажды помогло, правда для текущей индексации без фиксированной
Kerberos вне форума   Ответить с цитированием
Старый 18.05.2016, 21:08   #8
ivisor
Новичок
 
Регистрация: 18.12.2011
Сообщений: 27
Сказал(а) спасибо: 12
Поблагодарили 44 раз(а) в 9 сообщениях
ivisor пока не определено
По умолчанию

Спасибо, я наконец то поял о чем вы говорили приводя строки о фиксированной индексации дошел и до них наконец то
Лично я думаю что фиксированная индексация должна быть уменьшена на сумму повышения (в случае повышения).
ivisor вне форума   Ответить с цитированием
Старый 18.05.2016, 21:25   #9
ivisor
Новичок
 
Регистрация: 18.12.2011
Сообщений: 27
Сказал(а) спасибо: 12
Поблагодарили 44 раз(а) в 9 сообщениях
ivisor пока не определено
По умолчанию

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

И в модуле объекта документа "ВводСведенийОПлановыхНачисленияхУдержаниях" в функции РассчитатьИндексацию():
Код:
	Для Каждого Работник из ТЗРаботникиОрганизации Цикл
		Если Работник.Повышение <=0 И
			Работник.ФиксированнаяИндексация > 0 Тогда
			//Что делать с фиксированной индексацией в этом случае - не известно
			//Будем считать, что она остается прежней (не увеличивается, не закрывается)
			Работник.ФиксированнаяИндексация = Работник.ФиксированнаяИндексацияДо;
		КонецЕсли;
		// нач. изм. ФИЛ
		Если Работник.Повышение > 0 И Работник.ФиксированнаяИндексация > 0 Тогда
			Работник.ФиксированнаяИндексация = Макс(0, Работник.ФиксированнаяИндексация - Работник.Повышение); // изм. ФИЛ
		КонецЕсли;
		// Кон. изм. ФИЛ
	КонецЦикла;
Это лично мой взгляд на то, что делать с фикс. индексацией.
ivisor вне форума   Ответить с цитированием
Старый 19.05.2016, 07:31   #10
DUH
Местный
 
Аватар для DUH
 
Регистрация: 07.02.2013
Адрес: Kyiv
Сообщений: 538
Сказал(а) спасибо: 86
Поблагодарили 753 раз(а) в 134 сообщениях
DUH пока не определено
Отправить сообщение для DUH с помощью ICQ Отправить сообщение для DUH с помощью AIM Отправить сообщение для DUH с помощью Skype™
Подмигивание

Цитата:
Сообщение от ivisor Посмотреть сообщение
Спасибо, я наконец то поял о чем вы говорили приводя строки о фиксированной индексации дошел и до них наконец то
Лично я думаю что фиксированная индексация должна быть уменьшена на сумму повышения (в случае повышения).

Ну и славненько, что мой пост стал стартом в начале решения Вашей проблемы!
И кстати - круто, что сами решили проблему, хоть и методом научного тыка или через "костыли" !)

З.Ы. А для "спасибо" - есть специальная "княпка"))
__________________
1С Developer (За умение пользоваться гуглом, вордом и пейнтом меня в офисе называют [Ссылки доступны только зарегистрированным пользователям . Регистрируйся тут...].)
DUH вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
ivisor (19.05.2016)
Ответ

Любые журналы Актион-МЦФЭР регулярно !!! Пишите https://www.nado.in/private.php?do=newpm&u=12191 или на электронный адрес pantera@nado.ws


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
1С: Регламентированные отчеты 7.x для России. ТОЛЬКО ССЫЛКИ !!! admin 1C: Предприятие + конфигурации 7.7 466 24.04.2024 10:32


Текущее время: 16:54. Часовой пояс GMT +1.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot