Фирма 1С в очередном обновлении наконец то разродилась, и предоставила нам возможность выбрать сколько дней за счет работодателя мы хотим оплатить для переходящих больничных с 2010 на 2011 год. Изначально в конфигурации такие больничные оплачивали ровно 3 дня. В 309 релизе в документ "Больничный лист" был добавлен новый реквизит, который для всех проведенных переходящих больничных в момент обновления заполняется цифрой 3.
Для тех кто в 305 релизе или позднее, правил конфигурации и оплачивал за счет работодателя 2 дня, а не 3 (например делал как описано тут //infostart.ru/public/80704/), такое автозаполнение при обновлении будет не верным и повлияет на результаты отчета "Расходы предприятия за счет ФСС". Предлагаю слудующее решение.
1. До обновления на 309 релиз, внести небольшое изменение в md-шник на который потом будем обновляться. Вносим маленькое изменение в обработку "ОбновлениеИБ".
Строку 2758 меняем на:
// + Начало изменения.
//было:
// Док.ДнейОплатыРаботодателем = 3;
//стало:
КолвоДней = 0;
ЖР = СоздатьОбъект("ЖурналРасчетов.Зарплата");
ЖР.ВыбратьЗаписиПоДокументу(Док.ТекущийДокумент()) ;
Пока ЖР.ПолучитьЗапись() = 1 Цикл
Если (ЖР.ВидРасч = ВидРасчета.ОплатаБЛЗаСчетРаботодателяс2011) Тогда
КолвоДней = КолвоДней + ЖР.ДатаОкончания - ЖР.ДатаНачала + 1;
//Прервать;
КонецЕсли;
КонецЦикла;
Если КолвоДней = 0 Тогда
Док.ДнейОплатыРаботодателем = 3;
Иначе
Док.ДнейОплатыРаботодателем = КолвоДней;
КонецЕсли;
// - Конец изменения
2. Для тех кто уже обновился на 309 релиз. Создайте обработку в которой разместить следующий код:
ДатаНачалаРеформыСоцСтрахования = глДатаНачалаРеформыСоцСтрахования();
Док = СоздатьОбъект("Документ.БольничныйЛист");
Состояние("Обработка документов ""Больничный лист""...");
Док.ВыбратьДокументы();
Пока Док.ПолучитьДокумент()=1 Цикл
Если Док.ТипРасчетаБольничного <> Перечисление.ТипРасчетаБольничного.С2011года Тогда
Продолжить;
КонецЕсли;
Если ПустоеЗначение(Док.Сотрудник)=1 Тогда
Продолжить;
КонецЕсли;
Если Док.ТипБолезни <> Перечисление.ТипБолезни.ОбщееЗаболевание Тогда
Продолжить;
КонецЕсли;
ДатаНачалаСобытия = глПолучитьДатуНачалаСобытияБЛ(Док.ТекущийДокумент( ));
Если (ДатаНачалаСобытия < ДатаНачалаРеформыСоцСтрахования) и (Док.ДнейОплатыРаботодателем = 0) Тогда
КолвоДней = 0;
ЖР = СоздатьОбъект("ЖурналРасчетов.Зарплата");
ЖР.ВыбратьЗаписиПоДокументу(Док.ТекущийДокумент()) ;
Пока ЖР.ПолучитьЗапись() = 1 Цикл
Если (ЖР.ВидРасч = ВидРасчета.ОплатаБЛЗаСчетРаботодателяс2011) Тогда
КолвоДней = КолвоДней + ЖР.ДатаОкончания - ЖР.ДатаНачала + 1;
//Прервать;
КонецЕсли;
КонецЦикла;
Если КолвоДней = 0 Тогда
Док.ДнейОплатыРаботодателем = 3;
Иначе
Док.ДнейОплатыРаботодателем = КолвоДней;
КонецЕсли;
КонецЕсли;
Попытка
Док.Записать();
Исключение
КонецПопытки;
КонецЦикла;
Ну или скачайте у меня уже готовую Если вы не понимаете о чем тут написано, значит Вам это не нужно, просто пройдите мимо