Разовое начисление в аванс

1. lulufa 20.01.16 08:32 Сейчас в теме
ЗКгу 3.0. подскажите способ выплаты разовых начислений в аванс?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user_2010 902 20.01.16 10:10 Сейчас в теме
В документе "Разовое начисление" в поле "Выплата" укажите = "С авансом".
3. lulufa 20.01.16 11:40 Сейчас в теме
есть зависимые наачисления.нашли. реквизит за период.
4. lulufa 21.01.16 10:25 Сейчас в теме
в поле "Выплата" укажите = "С авансом" - не работает. пишет не предназначен в межрасчетный период.. у кого разовые в аванс попадают?
5. user_2010 902 21.01.16 11:11 Сейчас в теме
что за разовое начисление делаете?
6. lulufa 21.01.16 12:12 Сейчас в теме
которое настроено как разовое - по отдельному документу, разовое начисление. сами создавали. а у вас выплачивает в аванс разовое? Начисление за первую половину месяца делаете? потом выплату (ведомость в банк,например)с видом аванс? и суммы разового + надбавок от него встают в ведомости?
7. user_2010 902 21.01.16 12:39 Сейчас в теме
смысл вашего разового начисления какой? может быть в его настройках какая-то проблема?
у меня а аванс выплачивается в том числе и разовое начисление.
8. lulufa 21.01.16 13:58 Сейчас в теме
т.е. сумма разового заполняется в ведомости на аванс?
9. user_2010 902 21.01.16 14:08 Сейчас в теме
да, за вычетом НДФЛ.
в ЗУП 3.0 очень большую роль играет правильная последовательность документов. особенно это касается документов выплаты...
и, первое время, надо постоянно пересчитывать начисленные суммы... такой вот мой опыт...
10. lulufa 21.01.16 15:21 Сейчас в теме
тут покруче Зупа - зкгу
11. user_2010 902 21.01.16 15:33 Сейчас в теме
да, у вас посложнее... но у 1С ошибки объединены для ЗУПа и ЗГУ (https://bugboard.v8.1c.ru/version/hrm3/3.0.25.64.html) можно делать вывод, что функциональность у них практически одинаковая, проблемы одни и те же....
12. lulufa 21.01.16 15:39 Сейчас в теме
да,основа одна. но не делает выплату. у вас документ Разовое начисление входит в регистраторы для регистров накопления аванса? "Зарплата к выплате авансом",например?
13. user_2010 902 21.01.16 15:54 Сейчас в теме
да, для документа Разовое начисление есть движение по регистру Зарплата к выплате авансом.
14. lulufa 21.01.16 15:55 Сейчас в теме
можете показать? у нас разовое начисление не входит в состав регистраторов этого регистра
15. user_2010 902 21.01.16 16:01 Сейчас в теме
16. lulufa 21.01.16 16:04 Сейчас в теме
17. lulufa 21.01.16 16:04 Сейчас в теме
вы например делаете универсальный отчет по регистру этому и выдает суммы с разовым вместе? спасибо
18. lulufa 21.01.16 16:15 Сейчас в теме
вернее есть в "Зарплата к выплате авансом" регистратор. Только сумму выплачивает не полностью, обрезает.
19. user_2010 902 21.01.16 16:16 Сейчас в теме
В моем случае документ Разовые начисления не сделал движений по РегНак Зарплата к выплате авансом.
Но когда я провела выплату - программа сделал движения Расход по РегНак Зарплата к выплате авансом на сумму за первую половину месяца и на сумму Разового начисления.
20. lulufa 21.01.16 16:21 Сейчас в теме
у нас сумму режет. т.е. если в начислении зп за первую половину насчитали сумму А, разовое сумма Б, то в выплате делает по источникам сумму = А: (А+Б)/Коэф = А. Т.е. часть А и часть Б берет.
21. user_2010 902 21.01.16 16:25 Сейчас в теме
может быть у вас аванс для сотрудника настроен не по первой половине а процентом?
22. lulufa 21.01.16 16:36 Сейчас в теме
нет,по первой половине. процентом не стали.
23. user_2010 902 21.01.16 16:44 Сейчас в теме
Разовое начисление выплачивается без подоходного налога. Может быть как раз на эту сумму разница?
24. lulufa 21.01.16 17:19 Сейчас в теме
25. lulufa 21.01.16 17:21 Сейчас в теме
если начислить только разовое в феврале с выплатой "С авансом" 25.02 и сделать выплату ставит 0 в ведомости февраля Аванс.
26. lulufa 21.01.16 17:31 Сейчас в теме
27. user_2010 902 21.01.16 17:49 Сейчас в теме
может быть у вас суммы как-то делятся по каким-то фондам? и выплаты соответственно для каждого фонда отдельно оформляются?
28. user_2010 902 21.01.16 17:51 Сейчас в теме
типа статья финансирования...?
29. lulufa 21.01.16 20:37 Сейчас в теме
статьями да,но не долями.
30. lulufa 22.01.16 05:34 Сейчас в теме
подскажите, у вас в общем модуле "ВзаиморасчетыССотрудниками" есть такая процедура
Процедура СоздатьВТЗарплатаКВыплатеОграниченнуюСальдоФизлиц(МенеджерВременныхТаблиц, ТолькоРазрешенные, Параметры)
а в ней еще вот так:
// Коэффициент выплаты (отношение сальдо к зарплате, но не больше зарплаты)
Запрос.Текст =
Запрос.Текст +
ЗарплатаКадрыОбщиеНаборыДанных.РазделительЗапросов() +
"ВЫБРАТЬ
| Зарплата.ФизическоеЛицо КАК ФизическоеЛицо,
| ВЫБОР
| КОГДА Зарплата.КВыплате <= 0
| ТОГДА 1
| КОГДА ЕСТЬNULL(Сальдо.КВыплате, 0) / Зарплата.КВыплате > 1
| ТОГДА 1
| КОГДА ЕСТЬNULL(Сальдо.КВыплате, 0) < 0
| ТОГДА 0
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(Сальдо.КВыплате, 0) / Зарплата.КВыплате КАК ЧИСЛО(25, 10))
| КОНЕЦ КАК Размер
|ПОМЕСТИТЬ ВТКоэффициентыВыплаты
|ИЗ
| ВТЗарплатаФизлиц КАК Зарплата
| ЛЕВОЕ СОЕДИНЕНИЕ ВТСальдоФизлиц КАК Сальдо
| ПО Зарплата.ФизическоеЛицо = Сальдо.ФизическоеЛицо";

// Ограничиваем суммы зарплаты коэффициентами выплаты
Запрос.Текст =
Запрос.Текст +
ЗарплатаКадрыОбщиеНаборыДанных.РазделительЗапросов() +
"ВЫБРАТЬ
| ЗарплатаКВыплате.Сотрудник КАК Сотрудник,
| ЗарплатаКВыплате.ФизическоеЛицо КАК ФизическоеЛицо,
| ЗарплатаКВыплате.Подразделение КАК Подразделение,
| ЗарплатаКВыплате.ПериодВзаиморасчетов,
| ЗарплатаКВыплате.СтатьяФинансирования,
| ЗарплатаКВыплате.СтатьяРасходов,
| ЗарплатаКВыплате.ДокументОснование,
| ВЫРАЗИТЬ(ЗарплатаКВыплате.КВыплате * КоэффициентыВыплаты.Размер КАК ЧИСЛО(15, 2)) КАК КВыплате
|ПОМЕСТИТЬ ВТЗарплатаКВыплатеОграниченнуюСальдоФизлиц
|ИЗ
| ВТЗарплатаКВыплате КАК ЗарплатаКВыплате
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТКоэффициентыВыплаты КАК КоэффициентыВыплаты
| ПО (КоэффициентыВыплаты.ФизическоеЛицо = ЗарплатаКВыплате.ФизическоеЛицо)";

Запрос.Выполнить();


здесь самое страшное вот это: ЗарплатаКВыплате.КВыплате * КоэффициентыВыплаты.Размер
31. user_2010 902 22.01.16 09:46 Сейчас в теме
в ведомости на выплату над кнопкой "Заполнить" что написано? ссылка "Заполнение всеми причитающимися суммами, без округления"?
может быть вы просто установили процент выплаты?
32. user_2010 902 22.01.16 09:47 Сейчас в теме
может быть у вас есть еще документ выплаты и в текущем документе перечисляется остаток?
33. user_2010 902 22.01.16 09:51 Сейчас в теме
код такой же как у вас ВЫРАЗИТЬ(ЗарплатаКВыплате.КВыплате * КоэффициентыВыплаты.Размер КАК ЧИСЛО(15, 2)) КАК КВыплате
34. lulufa 22.01.16 14:32 Сейчас в теме
нет, всеми суммами без округления 100%, выплат нет. тупо берем один отпуск, не выплачивает в аванс. при начислении за первую половину выплачивает частично так, чтобы сумма выплаты была = начисленной в начислении за первую половину. т.е. часть отпуска ставит, часть начисленной за (это видно в разбивке по финансированию).
35. user_2010 902 22.01.16 14:45 Сейчас в теме
чему равен этот коэффициент? он одинаков для обоих сумм (за первую половину и для разового начисления)?
36. lulufa 22.01.16 16:16 Сейчас в теме
Скажите у вас в этом регистре также?
37. user_2010 902 22.01.16 16:53 Сейчас в теме
так же.
мне кажется вам надо смотреть ваши данные, а не код.
38. lulufa 22.01.16 17:04 Сейчас в теме
данные чего? всё просмотрено. доли распределения по статьям нет. если вообще нет распределения по статьям финансирования, суммы делит. при изменении кода,всё отлично считает.
39. lulufa 22.01.16 17:05 Сейчас в теме
Вот так: убираем коэффициент.
| ЗарплатаКВыплате.ДокументОснование,
//| ВЫРАЗИТЬ(ЗарплатаКВыплате.КВыплате * КоэффициентыВыплаты.Размер КАК ЧИСЛО(15, 2)) КАК КВыплате
| ЗарплатаКВыплате.КВыплате КАК КВыплате

видимопри определнии коэф не хватает разбивки в разрезе статей. пока не разобрались.
40. lulufa 28.01.16 21:30 Сейчас в теме
посмотрели. статьи не причем.
41. user_2010 902 29.01.16 09:01 Сейчас в теме
42. lulufa 30.01.16 07:32 Сейчас в теме
коэффициент этот считат так: | ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(Сальдо.КВыплате, 0) / Зарплата.КВыплате КАК ЧИСЛО(25, 10))
Сальдо.КВыплате = сумма из документа "Начисление за первую половину месяца" (или из регистра ЗарплатаКВыплатеАвансом).

Зарплата.КВыплате = Сумма из регистра ЗарплатакВыплате+ЗарплатаКВыплатеАвансом.
43. lulufa 14.02.16 15:48 Сейчас в теме
При выплате аванса с разбивкой по статьям финансирования, правильно работает выплата в случае след. поправки общего модуля ВзаиморасчетыССотрудниками:
Процедура СоздатьВТЗарплатаКВыплатеОграниченнуюСальдоФизлиц(МенеджерВременныхТаблиц, ТолькоРазрешенные, Параметры)

Если Параметры.ХарактерВыплаты = Перечисления.ХарактерВыплатыЗарплаты.Аванс Тогда
ПериодВзаиморасчетов = Параметры.ПериодРегистрации;
// ДобавитьМесяц(Параметры.ПериодРегистрации, -1);
//изменено Далее добавлена Аналитика во всех запросах по: СтатьяФинансирования и СтатьяРасходов
ИначеЕсли Параметры.ХарактерВыплаты = Перечисления.ХарактерВыплатыЗарплаты.Зарплата Тогда
ПериодВзаиморасчетов = Параметры.ПериодРегистрации;
Иначе
Возврат
КонецЕсли;

УстановитьПривилегированныйРежим(Истина);

Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;

Запрос.УстановитьПараметр("Организация", Параметры.Организация);
Запрос.УстановитьПараметр("ПериодРегистрации", Параметры.ПериодРегистрации);
Запрос.УстановитьПараметр("ПериодВзаиморасчетов", ПериодВзаиморасчетов);
Запрос.УстановитьПараметр("ИгнорируемыеРегистраторы", Параметры.ИгнорируемыеРегистраторы);

// Зарплата по физлицам
Запрос.Текст =
"ВЫБРАТЬ
| ЗарплатаСотрудников.ФизическоеЛицо КАК ФизическоеЛицо,
| СУММА(ЗарплатаСотрудников.КВыплате) КАК КВыплате,
| ЗарплатаСотрудников.СтатьяФинансирования,
| ЗарплатаСотрудников.СтатьяРасходов
|ПОМЕСТИТЬ ВТЗарплатаФизлиц
|ИЗ
| ВТЗарплатаКВыплате КАК ЗарплатаСотрудников
|
|СГРУППИРОВАТЬ ПО
| ЗарплатаСотрудников.ФизическоеЛицо,
| ЗарплатаСотрудников.СтатьяФинансирования,
| ЗарплатаСотрудников.СтатьяРасходов";
Запрос.Выполнить();

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

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

// Запрашиваем плановые авансы всех сотрудников рассматриваемых физлиц
СоздатьВТПлановыйАванс(МенеджерВременныхТаблиц, ТолькоРазрешенные, Параметры, "ВТСотрудникиФизическихЛиц");

// Определяем плановые авансы физических лиц
Запрос.Текст =
"ВЫБРАТЬ
| ПлановыйАванс.ФизическоеЛицо КАК ФизическоеЛицо,
| СУММА(ПлановыйАванс.СуммаКВыплате) КАК КВыплате
|ПОМЕСТИТЬ ВТПлановыйАвансФизическихЛиц
|ИЗ
| ВТПлановыйАванс КАК ПлановыйАванс
|
|СГРУППИРОВАТЬ ПО
| ПлановыйАванс.ФизическоеЛицо";

Если Параметры.ХарактерВыплаты = Перечисления.ХарактерВыплатыЗарплаты.Аванс Тогда

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


Иначе

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

КонецЕсли;

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


// Предел выплаты по физлицам
Запрос.Текст =
Запрос.Текст +
ЗарплатаКадрыОбщиеНаборыДанных.РазделительЗапросов() +
"ВЫБРАТЬ
| ПределВыплат.ФизическоеЛицо КАК ФизическоеЛицо,
| СУММА(ПределВыплат.КВыплате) КАК КВыплате,
| ПределВыплат.СтатьяФинансирования,
| ПределВыплат.СтатьяРасходов
|ПОМЕСТИТЬ ВТСальдоФизлиц
|ИЗ
| (ВЫБРАТЬ
| ПлановыйАванс.ФизическоеЛицо КАК ФизическоеЛицо,
| ПлановыйАванс.КВыплате КАК КВыплате,
| NULL КАК СтатьяФинансирования,
| NULL КАК СтатьяРасходов
| ИЗ
| ВТПлановыйАвансФизическихЛиц КАК ПлановыйАванс
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| НачисленныйАванс.ФизическоеЛицо,
| НачисленныйАванс.КВыплате,
| НачисленныйАванс.СтатьяФинансирования,
| НачисленныйАванс.СтатьяРасходов
| ИЗ
| ВТНачисленныйАвансФизическихЛиц КАК НачисленныйАванс
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ЗарплатаКВыплате.ФизическоеЛицо,
| ЗарплатаКВыплате.КВыплате,
| ЗарплатаКВыплате.СтатьяФинансирования,
| ЗарплатаКВыплате.СтатьяРасходов
| ИЗ
| ВТЗарплатаКВыплатеФизическихЛиц КАК ЗарплатаКВыплате) КАК ПределВыплат
|
|СГРУППИРОВАТЬ ПО
| ПределВыплат.ФизическоеЛицо,
| ПределВыплат.СтатьяФинансирования,
| ПределВыплат.СтатьяРасходов";

// Коэффициент выплаты (отношение сальдо к зарплате, но не больше зарплаты)
Запрос.Текст =
Запрос.Текст +
ЗарплатаКадрыОбщиеНаборыДанных.РазделительЗапросов() +
"ВЫБРАТЬ
| Зарплата.ФизическоеЛицо КАК ФизическоеЛицо,
| ВЫБОР
| КОГДА Зарплата.КВыплате <= 0
| ТОГДА 1
| КОГДА ЕСТЬNULL(Сальдо.КВыплате, 0) / Зарплата.КВыплате > 1
| ТОГДА 1
| КОГДА ЕСТЬNULL(Сальдо.КВыплате, 0) < 0
| ТОГДА 0
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(Сальдо.КВыплате, 0) / Зарплата.КВыплате КАК ЧИСЛО(25, 10))
| КОНЕЦ КАК Размер,
| Зарплата.СтатьяФинансирования,
| Зарплата.СтатьяРасходов
|ПОМЕСТИТЬ ВТКоэффициентыВыплаты
|ИЗ
| ВТЗарплатаФизлиц КАК Зарплата
| ЛЕВОЕ СОЕДИНЕНИЕ ВТСальдоФизлиц КАК Сальдо
| ПО Зарплата.ФизическоеЛицо = Сальдо.ФизическоеЛицо
| И Зарплата.СтатьяФинансирования = Сальдо.СтатьяФинансирования
| И Зарплата.СтатьяРасходов = Сальдо.СтатьяРасходов";

// Ограничиваем суммы зарплаты коэффициентами выплаты
Запрос.Текст =
Запрос.Текст +
ЗарплатаКадрыОбщиеНаборыДанных.РазделительЗапросов() +
"ВЫБРАТЬ
| ЗарплатаКВыплате.Сотрудник КАК Сотрудник,
| ЗарплатаКВыплате.ФизическоеЛицо КАК ФизическоеЛицо,
| ЗарплатаКВыплате.Подразделение КАК Подразделение,
| ЗарплатаКВыплате.ПериодВзаиморасчетов,
| ЗарплатаКВыплате.СтатьяФинансирования,
| ЗарплатаКВыплате.СтатьяРасходов,
| ЗарплатаКВыплате.ДокументОснование,
//| ЗарплатаКВыплате.КВыплате КАК КВыплате
| ВЫРАЗИТЬ(ЗарплатаКВыплате.КВыплате * КоэффициентыВыплаты.Размер КАК ЧИСЛО(15, 2)) КАК КВыплате
|ПОМЕСТИТЬ ВТЗарплатаКВыплатеОграниченнуюСальдоФизлиц
|ИЗ
| ВТЗарплатаКВыплате КАК ЗарплатаКВыплате
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТКоэффициентыВыплаты КАК КоэффициентыВыплаты
| ПО (КоэффициентыВыплаты.ФизическоеЛицо = ЗарплатаКВыплате.ФизическоеЛицо)
| И ЗарплатаКВыплате.СтатьяФинансирования = КоэффициентыВыплаты.СтатьяФинансирования
| И ЗарплатаКВыплате.СтатьяРасходов = КоэффициентыВыплаты.СтатьяРасходов";

Запрос.Выполнить();

// Удаляем временные таблицы
Запрос.Текст =
"УНИЧТОЖИТЬ ВТЗарплатаФизлиц
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|УНИЧТОЖИТЬ ВТСотрудникиФизическихЛиц
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|УНИЧТОЖИТЬ ВТПлановыйАванс
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|УНИЧТОЖИТЬ ВТПлановыйАвансФизическихЛиц
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|УНИЧТОЖИТЬ ВТНачисленныйАвансФизическихЛиц
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|УНИЧТОЖИТЬ ВТЗарплатаКВыплатеФизическихЛиц
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|УНИЧТОЖИТЬ ВТСальдоФизлиц
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|УНИЧТОЖИТЬ ВТКоэффициентыВыплаты";

Запрос.Выполнить();

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

УстановитьПривилегированныйРежим(Ложь);

КонецПроцедуры
Оставьте свое сообщение

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