ЗиК: Заполнение данных о заработке у предыдущих работодателей в больничном

04.10.11

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

Доработка ЗиК 314. Заполнение данных в больничном за 2 предыдущих года у другого работодателя. Для работы необходимо добавить в конфигурацию новый справочник.

Для хранения данных о заработках за 2 года у предыдущих работодателей создадим новый справочник. ПрошлыеДоходыДляБЛ. Справочник подчиненный справочнику Сотрудники. Длина кода 4, длина наименования 0, один реквизит Сумма Тип: Число длина 10 точность 2. Тип кода текстовый.ПрошлыеДоходыДляБЛ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Создадим форму списка этого справочник. В заголовке колонки код напишем "год". В форме списка внесем следующий код:

Процедура ПриОткрытии()
    Если ТипЗначения(Форма.Параметр) = 11 Тогда
        ИспользоватьВладельца(Форма.Параметр,0);
        ИерархическийСписок(1,0);
    КонецЕсли;
    глОткрытьВладельца(Контекст)
КонецПроцедуры //ПриОткрытии

В форму элемента справочника сотрудники добавим в процедуру ПриНажатииКнопки():

        СписокВыбора.ДобавитьЗначение("ФормаСЗВ2010","Персонифицированный учет ПФР (ввод сведений о стаже)");
        СписокВыбора.ДобавитьЗначение("ВводДанныхСЗВК","Форма СЗВ-К");
        СписокВыбора.ДобавитьЗначение("СтарыеФормы","Формы прошлых лет");
        //Allexe добавленные строки
        СписокВыбора.ДобавитьЗначение("ДоходыДляБл","Прошлые доходы для больничных");
        //Allexe

а также строки:

                        ОткрытьФорму("Обработка."+ИмяПодМеню+"#"+Код,Параметры);
                    КонецЕсли;
                КонецЕсли;
            //Allexe добавленные строки
            ИначеЕсли Имя = "ДоходыДляБл" Тогда
                ОткрытьФорму("Справочник.ПрошлыеДоходыДляБЛ.ФормаСписка",ТекущийЭлемент());
            //Allexe
            Иначе
                ЖЗ = СоздатьОбъект("ЖурналРасчетов.Зарплата");
                Параметры = СоздатьОбъект("СписокЗначений");
                Параметры.Установить("Сотрудник",ТекущийЭлемент());
                Параметры.Установить("ДатаАктуальности",ЖЗ.КонецТекущегоПериода());
                Параметры.Установить("ТолькоПросмотр",Форма.ТолькоПросмотр());
                ОткрытьФорму("Обработка."+Имя+"#"+Код,Параметры);
            КонецЕсли;
        КонецЕсли;
    // Если нажали кнопку , то

После этих изменений из карточки сотрудника, по кнопке "Ввод данных" в списке выпадающего меню появится последний пункт "Прошлые доходы для больничных". При выборе этого пункта можно внести данные по этому сотрудника о заработке для расчета больничных у предыдущих работодателей за прошлые 2 года.

Ввод данных за 2 года
Теперь внесем изменения в форму документа больничный лист, чтобы эти данные автоматом заполнялись в больничном. Перед процедурой ПолучитьЗаработок(), вставим свою процедуру ДоходыПредыдущиРаботодателей()

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

В саму процедуру ПолучитьЗаработок() внесем изменения

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

КонецПроцедуры //ПолучитьЗаработок

 Теперь возможно вносить через карточку сотрудника данные о прошлых заработках и эти данные автоматом заполнятся в больничном листе.

См. также

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

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

1 стартмани

04.02.2022    3360    1    igor7777    0    

3

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

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

09.04.2020    20714    Юджин58    39    

5

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

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

14.10.2019    6360    ksnik    14    

3

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

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

15.11.2017    12062    AndKovalchuk    0    

1

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

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

1 стартмани

31.12.2014    24062    9    Sergey1CSpb    2    

0
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
0. allexe 24 04.10.11 13:39 Сейчас в теме
Доработка ЗиК 314. Заполнение данных в больничном за 2 предыдущих года у другого работодателя. Для работы необходимо добавить в конфигурацию новый справочник.


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

1. UV2 260 04.10.11 13:39 Сейчас в теме
Справка с предыдущего места работы используется для расчета ндфл и в общем случае может включать в себя те же начисления по больничному листу - что не позволяет даже теоретически использовать данные справки для начисления больничного на новом месте работы...
6. allexe 24 04.10.11 21:53 Сейчас в теме
(1)(5) Согласен с вами первоначальный вариант хранения данных о заработке в справке о доходах был некорректен. Исправил. Сделал с использованием нового справочника.
2. allexe 24 04.10.11 14:03 Сейчас в теме
"Справка с предыдущего места работы используется для расчета ндфл" - для расчета НДФЛ в пределах текущего года? Но я предлагаю вводить в эту справку данные о заработке за предыдущие года. Насколько я понимаю смысл этой справки в том чтобы при приеме на работу нового сотрудника учесть в ней заработок в пределах этого года для расчета НДФЛ. Соответственно чем могут помешать данные за 2 предыдущих года?
3. UV2 260 04.10.11 15:06 Сейчас в теме
(2) а, это было предложение хранить данные из справок для больничных в справках о доходах с предыдущего места работы?! - тогда придется затирать уже существующие для некоторых сотрудников реальные данные использовавшиеся для расчета ндфл за прошлые годы - что также не гуд...
- не, я для зик уже создал конструкцию по хранению этих данных, просто уже столкнулся с вариантами наличия двух и более справок за разные периоды работы по одному сотруднику и прочей фигней... - у меня холдинг с постоянно мечущимися по организациям холдинга толпой сотрудников и посему пришлось для зик-овцев сделать исчо пару обработкок по автообмену кучей справок.
4. allexe 24 04.10.11 15:23 Сейчас в теме
(3) Я понимаю что лучше сделать отдельный объект для хранения данных о предыдущих заработках, просто цель была сделать без доработки конфигурации.
тогда придется затирать уже существующие для некоторых сотрудников реальные данные использовавшиеся для расчета ндфл за прошлые годы
не совсем понимаю откуда там возьмутся данные за прошлые годы? Насколько я понял эти данные вводятся только для вновь принятых сотрудников и в период с начала года до даты принятия?
просто уже столкнулся с вариантами наличия двух и более справок за разные периоды работы по одному сотруднику
- ну можно сложить эти данные и внести в эту справку за 2 года.
5. ixijixi 1931 04.10.11 16:20 Сейчас в теме
Не не не, так делать категорически нельзя. Лучше написать отдельную обработку и использовать нужно другой справочник для хранения данных, т.к. суммы для НДФЛ и больничных будут разные.
7. ivanes 06.10.11 12:25 Сейчас в теме
При создании справочника нужно внимательно смотреть на Тип реквизита Код.
У меня создался справочник код(N,4,0). Отсюда, запрос не дает результата.
Считаю, что решение хорошее.
Нужно, создать отчет "Список сотрудников имеющие зарплату прошлых лет".
8. allexe 24 06.10.11 14:10 Сейчас в теме
(8) Да все верно. Я указал что тип кода должен быть текстовый. Спасибо за предложение отчет сделаю + в планах добавить обработку по заполнению уже внесенных данных из больничных в справочник зп прошлых лет (чтобы не забивать повторно по тем сотрудникам у кого уже есть эти данные в больничном)
9. Программулькин 301 08.10.11 06:13 Сейчас в теме
очень актуально, молодец, хорошая идея, немного запоздало правда, но всё же *ушёл внедрять*. Ждём отчёта.
10. berta 2 21.05.12 11:21 Сейчас в теме
В связи с новыми правилами расчета среднего заработка для расчета больничного по беременности и родам необходимо сделать обработку для выбора среднего заработка за период который можно установить вручную,(есть женщины уходящие из декрета в декрет для них нужен средний за 2008-2009 годы для расчета больничного листа по правилам до 2010 года какие у кого есть мысли
11. UV2 260 31.05.12 08:36 Сейчас в теме
(10) в документе попробуйте перед собиранием данных для среднего установить нужную Вам дату декретного(отп.по уходу и т.д. и т.п.) - допустим 01.01.2010 (для сбора данных для среднего за 2009 год, если в первый декретный он уходил 01.01.2010), заполняете вкладку для среднего заработка - а затем ставите реальную дату события и далее обрабатываете документ как обычно - расчет будет вестись на основе уже заполненных данных за 2009 год... как-то так было...
Оставьте свое сообщение