Исправление расчета пособия Больничный лист по уходу за больным ребенком в ЗУП 3.1.14.208-237

15.10.20

Учетные задачи - Зарплата

В документе Больничный лист с кодом "(09, 12, 13, 14, 15) Уход за больным ребенком" после расчета на вкладке "Начислено(подробно)" в колонке "В том числе за счет федерального бюджета" появляется сумма. Суммы в колонке быть не должно.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Бесплатно
Исправление ошибки ЗУП 3.1.14.208-237
.cfe 6,07Kb
32
32 Скачать бесплатно
Листинг процедуры с исправлением в ОбщийМодуль.УчетПособийСоциальногоСтрахования
.txt 14,92Kb
24
24 Скачать бесплатно

Софинансирования федерального бюджета нет. Только пострадавшим от ЧАЭС. Если оставить сумму, то в реестре пособий за счет ФСС она попадает в "Сверхнормы". При этом поле "Фед. бюджет" пусто.

В общем, в ходе реализации нового функционала https://buhexpert8.ru/obuchenie-1s/1s-zup-8-3/novyj-raschet-bolnichnogo-ne-nizhe-mrot.html  допущена ошибка в общем модуле УчетПособийСоциальногоСтрахования в процедуре РассчитатьПособиеПоНетрудоспособности 

исправление больничного в том числе за счет федерального бюджета уход больным ребенком расширение

См. также

Зарплата Регламентированный учет и отчетность Кадровый учет Обновление 1С Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Зарплата и Управление Персоналом 2.5 Бухгалтерский учет Налоговый учет Управленческий учет Акцизы ЕНВД ЕСН Земельный налог ИП, ПБОЮЛ, КФХ Налог на имущество Налог на прибыль НДС НДФЛ ФОМС, ЕФС Транспортный налог УСН ПСН (патентная система налогообложения) Платные (руб)

Обновления для конфигураций: КА 1.1; ЗУП 2.5; БУХ 2.0; КА 1.1 Комплексная автоматизация торговли алкогольной продукцией; КА 1.1 Комплексный учет сельскохозяйственного предприятия

27900 руб.

01.04.2020    147103    649    360    

235

Внешние источники данных Зарплата Бюджетный учет Программист Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 7.хх учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

48000 руб.

24.04.2017    51028    101    165    

89

Зарплата Внешние источники данных Бюджетный учет Перенос данных 1C Системный администратор Программист Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 8 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

84000 руб.

19.08.2020    25036    23    1    

25

Зарплата Производство готовой продукции (работ, услуг) Учет рабочего времени Рабочее место Бизнес-аналитик Пользователь Руководитель проекта Платформа 1С v8.3 1С:Управление торговлей 10 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Торговля и склад 7.7 Бытовые услуги, сервис Оптовая торговля, дистрибуция, логистика Электротехника и микроэлектроника Управленческий учет Платные (руб)

Модуль или расширение «Сервисный центр для 1С» позволяет принимать в ремонт оборудование (компьютеры, бытовая техника и т.п.), оформлять заявки инженеров на посещение клиентов и вести начисление заработной платы для сотрудников. Позволяет наладить автоматизированный учет в сервисном центре на уже существующей базе.

14800 руб.

01.11.2012    94138    115    1    

117

SALE! 20%

Зарплата Роли и права Системный администратор Бухгалтер Платформа 1С v8.3 Бухгалтерский учет Управление правами 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х Молдова Россия Казахстан Бухгалтерский учет Платные (руб)

Расширение позволяет максимально полно ограничить доступ пользователей к данным по заработной плате, а именно закрывает доступ к документам начисления и выплаты заработной платы, не позволяет просматривать бухгалтерские отчеты по счету учета зарплаты а также убирает зарплатные проводки из журнала проводок. Расширение запрещает просматривать платежные документы на выплату зарплаты, так же не доступны регламентные отчеты в ПФР и ИФНС. Расширение предлагает готовые настроенные профили "Бухгалтер без зарплаты", "Только просмотр без зарплаты".

5940 4752 руб.

27.05.2021    37570    264    92    

205

Перенос данных 1C Зарплата Бюджетный учет Программист Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Обработки для быстрого перехода с конфигураций «КАМИН:Расчет зарплаты для бюджетных учреждений 3.5» и «КАМИН:Зарплата для бюджетных учреждений 5.5» на конфигурацию «Зарплата и кадры государственного учреждения».

12000 руб.

28.07.2016    60710    153    141    

129

SALE! 30%

Зарплата Программист Бизнес-аналитик Бухгалтер Платформа 1С v8.3 1С:Зарплата и кадры государственного учреждения 3 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

При заполнении ведомости на выплату зарплаты вылазят задолженности прошлых периодов, которых быть не должно? Наша обработка позволяется убрать эти доходы прошлых периодов за пару секунд. Больше не нужно тратить часы на анализ каждого такого случая.

33600 23520 руб.

14.09.2022    15740    70    26    

72
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. user750336 15.10.20 13:45 Сейчас в теме
Автор, а у вас прямо на всех больничных по уходу за ребенком возникает сумма за счет ФБ? Ввела у себя в базе несколько примеров, и ни в одном не получилось добиться того, чтобы эта сумма заполнилась, если не устанавливать использование льгот (для чернобыльцев и т.д.). Релиз 3.1.14.237. Может быть, всё-таки исходные данные заданы некорректно (стажи или льготы)? Да и способ исправления ошибки, честно говоря, вызывает сомнение, особенно в варианте с расширением. Просто для всех строк начислений во всех больничных (со льготами и без) убирать суммы за счет ФБ - странное решение, на мой взгляд.
2. milov.aleksey 405 15.10.20 14:07 Сейчас в теме
(1) Алина, добрый день. Да, во всех больничных с кодом 09 с 18 сентября, после установки релиза 3.1.14.208. Исходное решение в модуле исходной процедуры(текстовый файл), куда добавили последний кусок кода без основной проверки используем ли мы вообще финансирование за счет бюджета.
 Процедура РассчитатьПособиеПоНетрудоспособности(СтрокиРасчета, ДополнительныеПараметры, ПрименяетсяСторнирование = Истина) Экспорт
	
	ПараметрыОплаты = ДополнительныеПараметрыРасчетаПособияПоНетрудоспособности();
	ЗаполнитьЗначенияСвойств(ПараметрыОплаты, ДополнительныеПараметры.ПараметрыРасчетаПособияПоНетрудоспособности);
	
	Если Не ЗначениеЗаполнено(ПараметрыОплаты.РайонныйКоэффициентРФНаНачалоСобытия)
		Или ПараметрыОплаты.РайонныйКоэффициентРФНаНачалоСобытия < 1 Тогда
		ПараметрыОплаты.РайонныйКоэффициентРФНаНачалоСобытия = 1;
	КонецЕсли;
	
	Если ТипЗнч(ПараметрыОплаты.РасчетПоПравилам2010Года) <> Тип("Булево") Тогда
		ПараметрыОплаты.РасчетПоПравилам2010Года = Ложь;
	КонецЕсли;
		
	НазначитьПособие = ПараметрыОплаты.НазначитьПособие;
	Если НазначитьПособие = Истина Тогда
		ПрименятьОграничениеДляПособийПоНС_ПЗ = (ПараметрыОплаты.ПричинаНетрудоспособности = Перечисления.ПричиныНетрудоспособности.ТравмаНаПроизводстве
											Или ПараметрыОплаты.ПричинаНетрудоспособности = Перечисления.ПричиныНетрудоспособности.Профзаболевание)
											И ПараметрыОплаты.ОграничениеПособия = Перечисления.ВидыОграниченияПособия.МаксимальныйРазмерЕжемесячнойСтраховойВыплаты;
											
		ОграниченияДляПособийПоНС_ПЗ = Новый Соответствие;
		Если ПрименятьОграничениеДляПособийПоНС_ПЗ Тогда
			
			ИзмеренияДаты = Новый ТаблицаЗначений;
			ИзмеренияДаты.Колонки.Добавить("Период", Новый ОписаниеТипов("Дата"));
			Для Каждого СтрокаТаблицы Из СтрокиРасчета Цикл
				ИзмеренияДаты.Добавить().Период = СтрокаТаблицы.ДатаНачала;
				ОграниченияДляПособийПоНС_ПЗ.Вставить(СтрокаТаблицы.ДатаНачала,0);
			КонецЦикла;
			
			Запрос = Новый Запрос;
			Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
			
			ПараметрыПостроения = ЗарплатаКадрыОбщиеНаборыДанных.ПараметрыПостроенияДляСоздатьВТИмяРегистраСрез();
			ПараметрыПостроения.ВсеЗаписи = Истина;
			
			ЗарплатаКадрыОбщиеНаборыДанных.СоздатьВТИмяРегистраСрезПоследних(
				"МаксимальныйРазмерЕжемесячнойСтраховойВыплаты",
				Запрос.МенеджерВременныхТаблиц,
				Ложь,
				ЗарплатаКадрыОбщиеНаборыДанных.ОписаниеФильтраДляСоздатьВТИмяРегистра(ИзмеренияДаты),
				ПараметрыПостроения);
			
			Запрос.Текст =
			"ВЫБРАТЬ
			|	МаксимальныйРазмер.Период КАК Период,
			|	МаксимальныйРазмер.Размер КАК Размер
			|ИЗ
			|	ВТМаксимальныйРазмерЕжемесячнойСтраховойВыплатыСрезПоследних­ КАК МаксимальныйРазмер";
			Выборка = Запрос.Выполнить().Выбрать();
			
			Пока Выборка.Следующий() Цикл
				ОграниченияДляПособийПоНС_ПЗ.Вставить(Выборка.Период, Выборка.Размер * 4);
			КонецЦикла;
		Иначе
			Для Каждого СтрокаТаблицы Из СтрокиРасчета Цикл
				ОграниченияДляПособийПоНС_ПЗ.Вставить(СтрокаТаблицы.ДатаНачала, 0);
			КонецЦикла;
		КонецЕсли;
		
	КонецЕсли;
	
	ПрименятьОграничениеПособияСнизуМРОТПоМесяцам = (
		ПараметрыОплаты.ПричинаНетрудоспособности = Перечисления.ПричиныНетрудоспособности.ПоУходуЗаРебенком);
	Если ПрименятьОграничениеПособияСнизуМРОТПоМесяцам Тогда
		КэшРасчетаПоМесяцам = Новый ТаблицаЗначений;
		КэшРасчетаПоМесяцам.Колонки.Добавить("СтрокаТаблицыРасчета");
		КэшРасчетаПоМесяцам.Колонки.Добавить("НачалоМесяца");
		КэшРасчетаПоМесяцам.Колонки.Добавить("Результат");
		КэшРасчетаПоМесяцам.Колонки.Добавить("РезультатБезЛьгот");
		КэшРасчетаПоМесяцам.Колонки.Добавить("ОграничениеПособияСнизу");
		Месяцы = Новый Массив;
	КонецЕсли;
	
	ДатаОтменыРасчета2010Года = УчетПособийСоциальногоСтрахованияКлиентСервер.ДатаНачалаРеформыСоцСтрахования();
	Для Каждого СтрокаТаблицы Из СтрокиРасчета Цикл
		
		Сторно = Ложь;
		Если ПрименяетсяСторнирование Тогда
			Сторно = СтрокаТаблицы.Сторно;
		КонецЕсли;
		
		СтрокаТаблицы.Результат = 0;
		СтрокаТаблицы.Дополнительно.Вставить("РезультатВТомЧислеЗаСчетФБ", 0);
		
		Если НазначитьПособие <> Истина Тогда
			// Нет данных для расчета.
			Продолжить;
		КонецЕсли;
		
		ОплачиваемоеВремя = РасчетЗарплаты.ЗначениеПоказателяПоИдентификатору(СтрокаТаблицы.Показатели, "КалендарныеДни");
		Если ОплачиваемоеВремя = Неопределено Тогда
			ОплачиваемоеВремя = 0;
		КонецЕсли;
		Если ПараметрыОплаты.ПричинаНетрудоспособности = Перечисления.ПричиныНетрудоспособности.ПоУходуЗаРебенком
			И ЗначениеЗаполнено(ПараметрыОплаты.ДатаНачалаПоловиннойОплаты)
			И СтрокаТаблицы.ДатаНачала >= ПараметрыОплаты.ДатаНачалаПоловиннойОплаты Тогда
			ПроцентОплаты = 50;
		Иначе
			ПроцентОплаты = ПараметрыОплаты.ПроцентОплаты;
		КонецЕсли;
		
		ПрименятьОграничениеМРОТом = ПараметрыОплаты.ОграничениеПособия = Перечисления.ВидыОграниченияПособия.ОграничениеВРазмереММОТ
			Или (СтрокаТаблицы.ДатаНачала >= ПараметрыОплаты.ДатаНарушенияРежима И ЗначениеЗаполнено(ПараметрыОплаты.ДатаНарушенияРежима));
		ПрименятьОграничениеМРОТомБезЛьгот = ПараметрыОплаты.ОграничениеПособияБезЛьгот = Перечисления.ВидыОграниченияПособия.ОграничениеВРазмереММОТ
			Или (СтрокаТаблицы.ДатаНачала >= ПараметрыОплаты.ДатаНарушенияРежима И ЗначениеЗаполнено(ПараметрыОплаты.ДатаНарушенияРежима));
		
		РасчетПоПравилам2010Года = ПараметрыОплаты.РасчетПоПравилам2010Года
			Или ПараметрыОплаты.ПериодРегистрации < ДатаОтменыРасчета2010Года
			Или ПараметрыОплаты.ДатаНачалаСобытия < ДатаОтменыРасчета2010Года;
		
		ТекущийРайонныйКоэффициент = 1;
		РайонныйКоэффициентРФ = РасчетЗарплаты.ЗначениеПоказателяПоИдентификатору(СтрокаТаблицы.Показатели, "РайонныйКоэффициентРФ");
		Если РайонныйКоэффициентРФ <> Неопределено Тогда
			ТекущийРайонныйКоэффициент = Макс(РайонныйКоэффициентРФ, 1);
		КонецЕсли;
		
		МРОТ = РасчетЗарплаты.ЗначениеПоказателяПоИдентификатору(СтрокаТаблицы.Показатели, "МРОТ");
		ТекущийМРОТ = МРОТ * ТекущийРайонныйКоэффициент;
		
		НормированноеОграничениеДляПособийПоНС_ПЗ = ОграниченияДляПособийПоНС_ПЗ[СтрокаТаблицы.ДатаНачала];
		
		НормаВремени = День(КонецМесяца(СтрокаТаблицы.ДатаНачала));
		Если ОплачиваемоеВремя < НормаВремени Тогда
			ОграничениеПособияМРОТом = Окр(Окр(ТекущийМРОТ / НормаВремени, 2) * ОплачиваемоеВремя, 2);
			НормированноеОграничениеДляПособийПоНС_ПЗ = Окр(Окр(НормированноеОграничениеДляПособийПоНС_ПЗ / НормаВремени, 2) * ОплачиваемоеВремя, 2);
		Иначе
			ОграничениеПособияМРОТом = Окр(ТекущийМРОТ,2);
		КонецЕсли;
		
		Если РасчетПоПравилам2010Года Тогда
			РазмерОграниченияДля2010года = Окр(РазмерОграниченияДля2010года() / 365, 2);
			Если ПараметрыОплаты.ОграничениеПособия = Перечисления.ВидыОграниченияПособия.БезОграничений Тогда
				Результат = ОплачиваемоеВремя * Окр(ПараметрыОплаты.СреднийДневнойЗаработок * ПроцентОплаты / 100, 2);
			Иначе
				Результат = ОплачиваемоеВремя * Окр(Мин(ПараметрыОплаты.СреднийДневнойЗаработок, РазмерОграниченияДля2010года) * ПроцентОплаты / 100, 2);
			КонецЕсли;
			
			// Ограничение пособия сверху
			Если ПрименятьОграничениеМРОТом Тогда
				Результат = Мин(Результат, ОграничениеПособияМРОТом);
			КонецЕсли;
			
			СтрокаТаблицы.Результат = Результат * ?(Сторно, -1, 1);
			
			Если ЗначениеЗаполнено(ПараметрыОплаты.ПроцентОплатыБезЛьгот) И ЗначениеЗаполнено(ПараметрыОплаты.ФинансированиеФедеральнымБюджетом) Тогда
				Если ПараметрыОплаты.ПричинаНетрудоспособности = Перечисления.ПричиныНетрудоспособности.ПоУходуЗаРебенком
						И ЗначениеЗаполнено(ПараметрыОплаты.ДатаНачалаПоловиннойОплаты)
						И СтрокаТаблицы.ДатаНачала >= ПараметрыОплаты.ДатаНачалаПоловиннойОплаты Тогда
					ПроцентОплаты = 50;
				Иначе
					ПроцентОплаты = ПараметрыОплаты.ПроцентОплатыБезЛьгот;
				КонецЕсли;

				Если ПараметрыОплаты.ОграничениеПособияБезЛьгот = Перечисления.ВидыОграниченияПособия.БезОграничений Тогда
					РезультатБезЛьгот = ОплачиваемоеВремя * Окр(ПараметрыОплаты.СреднийДневнойЗаработок * ПроцентОплаты / 100, 2);
				Иначе
					РезультатБезЛьгот = ОплачиваемоеВремя * Окр(Мин(ПараметрыОплаты.СреднийДневнойЗаработок, РазмерОграниченияДля2010года) * ПроцентОплаты / 100, 2);
				КонецЕсли;
				
				// Ограничение пособия сверху
				Если ПрименятьОграничениеМРОТомБезЛьгот Тогда
					РезультатБезЛьгот = Мин(РезультатБезЛьгот, ОграничениеПособияМРОТом);
				КонецЕсли;
				
				Если РезультатБезЛьгот < Результат Тогда
					СтрокаТаблицы.Дополнительно.РезультатВТомЧислеЗаСчетФБ = (Результат - РезультатБезЛьгот) * ?(Сторно, -1, 1);
					СтрокаТаблицы.ЗаписьРасчета.РезультатВТомЧислеЗаСчетФБ = СтрокаТаблицы.Дополнительно.РезультатВТомЧислеЗаСчетФБ;
				КонецЕсли;
			КонецЕсли;
		Иначе
			МинимальныйСреднедневнойЗаработок = МинимальныйСреднедневнойЗаработокДляСравненияСМРОТ(
				ПараметрыОплаты.МинимальныйСреднедневнойЗаработок, 
				ПараметрыОплаты.РайонныйКоэффициентРФНаНачалоСобытия,
				ПараметрыОплаты.ДатаНачалаСобытия);
			Если ПараметрыОплаты.СреднийДневнойЗаработок >= МинимальныйСреднедневнойЗаработок Тогда
				ДневноеПособие = Окр(ПараметрыОплаты.СреднийДневнойЗаработок * ПроцентОплаты / 100, 2);
				Результат = Окр(ОплачиваемоеВремя * ДневноеПособие, 2);
			Иначе
				ДневноеПособие = Окр(ПараметрыОплаты.МинимальныйСреднедневнойЗаработок * ПроцентОплаты / 100, 2);
				Результат = Окр(ОплачиваемоеВремя * ДневноеПособие * ПараметрыОплаты.РайонныйКоэффициентРФНаНачалоСобытия, 2);
			КонецЕсли;
			
			// Ограничение пособия сверху
			Если ПрименятьОграничениеМРОТом Тогда
				Результат = Мин(Результат, ОграничениеПособияМРОТом);
			ИначеЕсли ПрименятьОграничениеДляПособийПоНС_ПЗ Тогда
				Результат = Мин(Результат, НормированноеОграничениеДляПособийПоНС_ПЗ);
			КонецЕсли;
			
			// Ограничение пособия снизу
			ОграничениеПособияСнизу = ОграничениеПособияСнизуМРОТ(
				ПараметрыОплаты.ПричинаНетрудоспособности,
				СтрокаТаблицы.ДатаНачала,
				ОплачиваемоеВремя,
				РайонныйКоэффициентРФ,
				ПараметрыОплаты.ДоляНеполногоВремени,
				МРОТ);
			Если ОграничениеПособияСнизу > 0 Тогда
				Если ПрименятьОграничениеПособияСнизуМРОТПоМесяцам Тогда
					НачалоМесяца = НачалоМесяца(СтрокаТаблицы.ДатаНачала);
					Если Месяцы.Найти(НачалоМесяца) = Неопределено Тогда
						Месяцы.Добавить(НачалоМесяца);
					КонецЕсли;
					СтрокаТаблицыПоМесяцам = КэшРасчетаПоМесяцам.Добавить();
					СтрокаТаблицыПоМесяцам.СтрокаТаблицыРасчета = СтрокаТаблицы;
					СтрокаТаблицыПоМесяцам.НачалоМесяца = НачалоМесяца;
					СтрокаТаблицыПоМесяцам.Результат = Результат;
					СтрокаТаблицыПоМесяцам.РезультатБезЛьгот = 0;
					СтрокаТаблицыПоМесяцам.ОграничениеПособияСнизу = ОграничениеПособияСнизу;
				Иначе
					Результат = Макс(Результат, ОграничениеПособияСнизу);
				КонецЕсли;
			КонецЕсли;
			
			СтрокаТаблицы.Результат = Результат * ?(Сторно, -1, 1);
			
			// Часть пособия, финансируемая федеральным бюджетом.
			Если ЗначениеЗаполнено(ПараметрыОплаты.ПроцентОплатыБезЛьгот) И ЗначениеЗаполнено(ПараметрыОплаты.ФинансированиеФедеральнымБюджетом) Тогда
				Если ПараметрыОплаты.ПричинаНетрудоспособности = Перечисления.ПричиныНетрудоспособности.ПоУходуЗаРебенком
						И ЗначениеЗаполнено(ПараметрыОплаты.ДатаНачалаПоловиннойОплаты)
						И СтрокаТаблицы.ДатаНачала >= ПараметрыОплаты.ДатаНачалаПоловиннойОплаты Тогда
					ПроцентОплаты = 50;
				Иначе
					ПроцентОплаты = ПараметрыОплаты.ПроцентОплатыБезЛьгот;
				КонецЕсли;
				
				Если ПараметрыОплаты.СреднийДневнойЗаработок >= МинимальныйСреднедневнойЗаработок Тогда
					ДневноеПособие = Окр(ПараметрыОплаты.СреднийДневнойЗаработок * ПроцентОплаты / 100, 2);
					РезультатБезЛьгот = Окр(ОплачиваемоеВремя * ДневноеПособие, 2);
				Иначе
					ДневноеПособие = Окр(ПараметрыОплаты.МинимальныйСреднедневнойЗаработок * ПроцентОплаты / 100, 2);
					РезультатБезЛьгот = Окр(ОплачиваемоеВремя * ДневноеПособие * ПараметрыОплаты.РайонныйКоэффициентРФНаНачалоСобытия, 2);
				КонецЕсли;
				
				Если ПрименятьОграничениеМРОТомБезЛьгот Тогда
					РезультатБезЛьгот = Мин(РезультатБезЛьгот, ОграничениеПособияМРОТом);
				КонецЕсли;
				
				// Ограничение пособия снизу в размере МРОТ,
				// применяемое с 01.04.2020 в связи с эпидемией коронавируса,
				// не зависит от процентов стажа.
				Если ОграничениеПособияСнизу > 0 Тогда
					Если ПрименятьОграничениеПособияСнизуМРОТПоМесяцам Тогда
						СтрокаТаблицыПоМесяцам.РезультатБезЛьгот = РезультатБезЛьгот;
					Иначе
						РезультатБезЛьгот = Макс(РезультатБезЛьгот, ОграничениеПособияСнизу);
					КонецЕсли;
				КонецЕсли;
				
				Если РезультатБезЛьгот < Результат Тогда
					СтрокаТаблицы.Дополнительно.РезультатВТомЧислеЗаСчетФБ = (Результат - РезультатБезЛьгот) * ?(Сторно, -1, 1);
					СтрокаТаблицы.ЗаписьРасчета.РезультатВТомЧислеЗаСчетФБ = СтрокаТаблицы.Дополнительно.РезультатВТомЧислеЗаСчетФБ;
				КонецЕсли;
			КонецЕсли;
		КонецЕсли;
	КонецЦикла;
	
	//-=Н=- по заявке № 816268, Необходимо найти причину, исправить и чтоб в дальнейшем при расчете Больничного колонка "В том числе за счет фед.бюджета" не заполнялась.
	//Причина в том, что софинансирование с Фед.бюджетом вообще не используется.  
	//Милов А.В., 14 октября 2020 г. 14:06:22
	//Цель:	Исправление ошибки
	//---------------
	//-=Новый код=-
	//---------------
	ЕСЛИ Не (ЗначениеЗаполнено(ПараметрыОплаты.ПроцентОплатыБезЛьгот) И ЗначениеЗаполнено(ПараметрыОплаты.ФинансированиеФедеральнымБюджетом)) Тогда
		Возврат;
	КОНЕЦЕСЛИ;
	//-=К=-
	
	Если ПрименятьОграничениеПособияСнизуМРОТПоМесяцам И КэшРасчетаПоМесяцам.Количество() > 0 Тогда
		Для Каждого НачалоМесяца Из Месяцы Цикл
			
			Копия = КэшРасчетаПоМесяцам.Скопировать(Новый Структура("НачалоМесяца", НачалоМесяца));
			
			ИтогРезультат               = Копия.Итог("Результат");
			ИтогРезультатБезЛьгот       = Копия.Итог("РезультатБезЛьгот");
			ИтогОграничениеПособияСнизу = Копия.Итог("ОграничениеПособияСнизу");
			
			ЗаменитьРезультатНаМРОТ         = (ИтогОграничениеПособияСнизу > ИтогРезультат);
			ЗаменитьРезультатБезЛьготНаМРОТ = (ИтогОграничениеПособияСнизу > ИтогРезультатБезЛьгот);
			
			Если ЗаменитьРезультатНаМРОТ Или ЗаменитьРезультатБезЛьготНаМРОТ Тогда
				
				Для Каждого КэшСтроки Из Копия Цикл
					СтрокаТаблицы = КэшСтроки.СтрокаТаблицыРасчета;
					
					Сторно = ПрименяетсяСторнирование И СтрокаТаблицы.Сторно;
					
					Если ЗаменитьРезультатНаМРОТ Тогда
						КэшСтроки.Результат     = КэшСтроки.ОграничениеПособияСнизу;
						СтрокаТаблицы.Результат = КэшСтроки.ОграничениеПособияСнизу * ?(Сторно, -1, 1);
					КонецЕсли;
					
					Если ЗаменитьРезультатБезЛьготНаМРОТ Тогда
						КэшСтроки.РезультатБезЛьгот = КэшСтроки.ОграничениеПособияСнизу;
					КонецЕсли;
					
					Если КэшСтроки.РезультатБезЛьгот < КэшСтроки.Результат Тогда
						СтрокаТаблицы.Дополнительно.РезультатВТомЧислеЗаСчетФБ = (КэшСтроки.Результат - КэшСтроки.РезультатБезЛьгот) * ?(Сторно, -1, 1);
						СтрокаТаблицы.ЗаписьРасчета.РезультатВТомЧислеЗаСчетФБ = СтрокаТаблицы.Дополнительно.РезультатВТомЧислеЗаСчетФБ;
					КонецЕсли;
					
				КонецЦикла;
				
			КонецЕсли;
			
		КонецЦикла;
	КонецЕсли;
	
КонецПроцедуры
Показать
user750336; +1 Ответить
3. milov.aleksey 405 15.10.20 14:43 Сейчас в теме
(1) регистрация ошибки в техподе 1С https://bugboard.v8.1c.ru/error/000099430.
Описание стажа сотрудника, ребенка и больничного в ворд-файле.
По поводу расширения. Сделал самое очевидное, простое и модное: обнулить!
Аннотация &После, можно взять всю типовую процедуру с поправкой и заменить с помощью аннотации &Вместо
Прикрепленные файлы:
Описание ошибки 10226359.docx
user750336; +1 Ответить
4. user750336 15.10.20 16:28 Сейчас в теме
(3) Алексей, спасибо за подробный ответ с примером! Действительно, появляются эти суммы за счет ФБ, хотя и не во всех случаях. Но я бы всё-таки предложила немного по-другому эту ошибку исправить в последнем условии процедуры расчета пособия. Всё-таки, если весь новый алгоритм оборачивать в условие применения льгот, то ограничение МРОТом снизу совсем не будет применяться (то, что дорабатывали в расчете с 01.04.2020):
Если ПрименятьОграничениеПособияСнизуМРОТПоМесяцам И КэшРасчетаПоМесяцам.Количество() > 0 Тогда
		Для Каждого НачалоМесяца Из Месяцы Цикл
			
			Копия = КэшРасчетаПоМесяцам.Скопировать(Новый Структура("НачалоМесяца", НачалоМесяца));
			
			ИтогРезультат               = Копия.Итог("Результат");
			ИтогРезультатБезЛьгот       = Копия.Итог("РезультатБезЛьгот");
			ИтогОграничениеПособияСнизу = Копия.Итог("ОграничениеПособияСнизу");
			
			ЗаменитьРезультатНаМРОТ         = (ИтогОграничениеПособияСнизу > ИтогРезультат);
			ЗаменитьРезультатБезЛьготНаМРОТ = (ИтогОграничениеПособияСнизу > ИтогРезультатБезЛьгот);
			
			Если ЗаменитьРезультатНаМРОТ Или ЗаменитьРезультатБезЛьготНаМРОТ Тогда
				
				Для Каждого КэшСтроки Из Копия Цикл
					СтрокаТаблицы = КэшСтроки.СтрокаТаблицыРасчета;
					
					Сторно = ПрименяетсяСторнирование И СтрокаТаблицы.Сторно;
					
					Если ЗаменитьРезультатНаМРОТ Тогда
						КэшСтроки.Результат     = КэшСтроки.ОграничениеПособияСнизу;
						СтрокаТаблицы.Результат = КэшСтроки.ОграничениеПособияСнизу * ?(Сторно, -1, 1);
					КонецЕсли;
					
					//++ Исправление 15.10.2020
					Если ЗначениеЗаполнено(ПараметрыОплаты.ФинансированиеФедеральнымБюджетом) Тогда
					//-- Исправление 15.10.2020
					
					Если ЗаменитьРезультатБезЛьготНаМРОТ Тогда
						КэшСтроки.РезультатБезЛьгот = КэшСтроки.ОграничениеПособияСнизу;
					КонецЕсли;
					
					Если КэшСтроки.РезультатБезЛьгот < КэшСтроки.Результат Тогда
						СтрокаТаблицы.Дополнительно.РезультатВТомЧислеЗаСчетФБ = (КэшСтроки.Результат - КэшСтроки.РезультатБезЛьгот) * ?(Сторно, -1, 1);
						СтрокаТаблицы.ЗаписьРасчета.РезультатВТомЧислеЗаСчетФБ = СтрокаТаблицы.Дополнительно.РезультатВТомЧислеЗаСчетФБ;
					КонецЕсли;
					
					//++ Исправление 15.10.2020
					КонецЕсли;
					//-- Исправление 15.10.2020
					
				КонецЦикла;
				
			КонецЕсли;
			
		КонецЦикла;
	КонецЕсли;

Показать
5. milov.aleksey 405 15.10.20 16:43 Сейчас в теме
(4)Да, так лучше. Спасибо! Но вот &Вместо не сработало. У нас используется Профиль безопасности, а с ними "не дружат" расширения.
Оставьте свое сообщение