ЗиК 309. Исправление дней за счет работодателя в переходящих больничных.

07.04.11

Задачи пользователя - Адаптация типовых решений

07.04.2011 Внесена небольшая поправка, на случай "разорванных" дней за счет работодателя. Для тех кто уже обновился или запускал обработку, скачайте ее снова и перезапустите разок.

ЗиК 309. Для тех кто делал исправление количества дней за счет работодателя в переходящих больничных с 2010 на 2011, например как было описано тут:

Скачать файл

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

Наименование По подписке [?] Купить один файл
IsprDneyRabFor309.ert
.ert 66,50Kb
184
184 Скачать (1 SM) Купить за 1 850 руб.

//infostart.ru/public/80704/

Фирма 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;
        Иначе
            Док.ДнейОплатыРаботодателем = КолвоДней;
        КонецЕсли;
    КонецЕсли;
    Попытка
        Док.Записать();
    Исключение
    КонецПопытки;

КонецЦикла;

Ну или скачайте у меня уже готовую Smile Если вы не понимаете о чем тут написано, значит Вам это не нужно, просто пройдите мимо Wink

См. также

Печатные формы Адаптация типовых решений Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Приятное улучшение обработки "Внешние печатные формы" для типовых конфигураций на базе 1С 7.7 для более комфортной работы с "любимой семерочкой".

1 стартмани

04.02.2022    3359    1    igor7777    0    

3

Адаптация типовых решений Программист Платформа 1С v7.7 Конфигурации 1cv7 Россия Бухгалтерский учет ФОМС, ЕФС Бесплатно (free)

В этой статье описано, какие небольшие изменения можно внести в модуль документа Начисление налогов с ФОТ, чтобы правильно рассчитывались страховые взносы с 1 апреля 2020 г.

09.04.2020    20702    Юджин58    39    

5

Адаптация типовых решений Программист Платформа 1С v7.7 1С:Комплексная 7.7 1С:Торговля и склад 7.7 Управленческий учет Бесплатно (free)

Описан способ работы с учетом расписания с приоритетными покупателями - торговыми сетями (основными покупателями) в торговой или комплексной учетной системе на 1С 7.7. Множественная заявка покупателя на несколько торговых точек.

14.10.2019    6356    ksnik    14    

3

Операции по ВЭД Адаптация типовых решений Программист Оперативный учет 7.7 1С:Торговля и склад 7.7 Россия Бухгалтерский учет НДС Бесплатно (free)

В данной статье хотел поделиться опытом, как в Торговле 7.7 ( релиз 994) сделать возможность выводить код ТНВЭД в печатную форму счета-фактуры. Сразу скажу, что нужно это только тем, кто осуществляет экспорт в страны таможенного союза. Остальные могут не волноваться.

15.11.2017    12056    AndKovalchuk    0    

1

Зарплата Адаптация типовых решений Программист Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 Россия Бухгалтерский учет Абонемент ($m)

Реализация Постановления Правительства РФ 1316 от 04.12.14 для типовой конфигурации "Бухгалтерский учет 7.7" рел. 7.70.590

1 стартмани

31.12.2014    24060    9    Sergey1CSpb    2    

0
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
0. Ulfhedhinn 250 06.04.11 12:56 Сейчас в теме
07.04.2011 Внесена небольшая поправка, на случай "разорванных" дней за счет работодателя. Для тех кто уже обновился или запускал обработку, скачайте ее снова и перезапустите разок.

ЗиК 309. Для тех кто делал исправление количества дней за счет работодателя в переходящих больничных с 2010 на 2011, например как было описано тут:

Перейти к публикации

1. Kapitan911 306 06.04.11 12:56 Сейчас в теме
Для тех кто пользовался: http://infostart.ru/public/79933/
Текст обработки автора заменить следующим:

Перем ЖрнЗарплата;

//*******************************************
Процедура Сформировать()

ДатаНач = глДатаНачалаРеформыСоцСтрахования();
ДатаКон = ЖрнЗарплата.КонецТекущегоПериода();
Состояние("Выборка документов ""Больничный лист""...");
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с ДатаНач по ДатаКон;
|Объект = ЖурналРасчетов.Зарплата.Объект;
|Рез = ЖурналРасчетов.Зарплата.Результат;
|Док = ЖурналРасчетов.Зарплата.ТекущийДокумент;
|ВР = ЖурналРасчетов.Зарплата.ВидРасч;
|Функция СуммаВсего = Сумма(Рез);
|Условие (ВР.ВходитВГруппу(ГруппаРасчетов.БольничныеЛисты)=1);
|Группировка Док;
|"//}}ЗАПРОС
;


Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
СтатусВозврата(0);
Возврат;
КонецЕсли;

Состояние("Обработка документов ""Больничный лист""...");
Док = СоздатьОбъект("Документ.БольничныйЛист");
Пока Запрос.Группировка(1)=1 Цикл
ТекБЛ = Запрос.Док;
Док.НайтиДокумент(ТекБЛ);
Если ТекБЛ.Вид() = "БольничныйЛист" Тогда
Если Док.ТипБолезни <> Перечисление.ТипБолезни.ОбщееЗаболевание Тогда
Продолжить;
КонецЕсли;
Если Док.ТипРасчетаБольничного <> Перечисление.ТипРасчетаБольничного.С2011года Тогда
Док.ДнейОплатыРаботодателем = 2;
Попытка
Док.Записать();
Сообщить(глПредставлениеДокумента(Док)+" - установлено 2 дня оплаты за счет работодателя");
Исключение
Сообщить(глПредставлениеДокумента(Док)+" - НЕ установлено 2 дня оплаты за счет работодателя","!!");
КонецПопытки;
КонецЕсли;
КонецЕсли;
КонецЦикла;

КонецПроцедуры

ЖрнЗарплата = СоздатьОбъект("ЖурналРасчетов.Зарплата");
2. Franchiser 47 06.04.11 12:58 Сейчас в теме
Не очень понял код.
Если такая ситуация : в ЖР 2 записи 1 день за счет работодателя попал на 30.11.2010 и 1 день на 01.12.2010 года при этом обе записи относятся к одному документу, получится что в документе будет стоять 1 день за счет работодателя? ЧТо будет если БЛ исправляли тоже непонятно. Сторно записи в обработке не анализируются.
3. victuan 4266 06.04.11 20:48 Сейчас в теме
0-Ulfhedhinn >
Если (ЖР.ВидРасч = ВидРасчета.ОплатаБЛЗаСчетРаботодателяс2011) Тогда
КолвоДней = ЖР.ДатаОкончания - ЖР.ДатаНачала;
Прервать
КонецЕсли;

А разве нужно не так?
Если (ЖР.ВидРасч = ВидРасчета.ОплатаБЛЗаСчетРаботодателяс2011) Тогда
КолвоДней = КолвоДней + ЖР.ДатаОкончания - ЖР.ДатаНачала + 1; //с учетом переходящих в другой месяц
//Прервать
КонецЕсли;


А строку
ЖР = СоздатьОбъект("ЖурналРасчетов.Зарплата");
нужно поставить перед циклом:
Пока Док.ПолучитьДокумент()=1 Цикл
4. s-v-k 07.04.11 12:15 Сейчас в теме
Если КолвоДней = 0 Тогда
Док.ДнейОплатыРаботодателем = 3;
Иначе
Док.ДнейОплатыРаботодателем = КолвоДней;
КонецЕсли;


Складывается впечатление, что 3 дня запишется даже в те больничные, которые являются продолжениями, а это уже в корне неверно..
5. Franchiser 47 07.04.11 16:36 Сейчас в теме
я воообще не стал заморачиваться, перебрал в том же коде что есть в обновление все бл, если у бл в реквизите ДнейОплатыРаботодателем стоит "3" меняем на "2".
6. Franchiser 47 07.04.11 16:38 Сейчас в теме
я воообще не стал заморачиваться, перебрал тем же кодом что есть в обновление все бл, если у бл в реквизите ДнейОплатыРаботодателем стоит "3" меняем на "2". Я понимаю что автор хотел универсальности, но эта обработка нужна только тем у кого 2 дня.
7. Ulfhedhinn 250 08.04.11 02:40 Сейчас в теме
Мне обработка по большому счету вообще не нужна. У меня все в md-шнике в обработке "ОбновлениеИБ", универсальность для разных клиентов, кому-то по просьбам переделывал на 2 дня, кому то оставлял по типовому 3. Теперь при обновлении на 309 лишний раз не приходиться заморачиваться.
8. Cvetic 307 13.04.11 16:40 Сейчас в теме
Если (ДатаНачалаСобытия < ДатаНачалаРеформыСоцСтрахования) и (Док.ДнейОплатыРаботодателем = 0) Тогда
Для тех кто уже обновился на 309 Док.ДнейОплатыРаботодателем = 3.
9. natarezn 06.10.16 17:43 Сейчас в теме
как раз не могу понять ЖР = СоздатьОбъект("ЖурналРасчетов.Зарплата");
ЖР.ВыбратьЗаписиПоДокументу(Док.ТекущийДокумент()) ;
Пока ЖР.ПолучитьЗапись() = 1 Цикл

сейчас попробую !
10. natarezn 06.10.16 17:49 Сейчас в теме
Заработало !!!!!!!!!! я Вас обожаю
Оставьте свое сообщение