Изменения стандартных правил выгрузки перехода с ЗиК на ЗУП (вычеты НДФЛ на детей)

24.03.12

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

Сейчас уже эту публикацию можно рассматривать только как пример.  В ней показан способ изменения стандартных правил переноса данных из ЗиК 7.7 в ЗУП 8.х в разделе вычетов по НДФЛ на детей. Способ изменения, примеры, скриншоты ниже.

Скачать файлы

Наименование Файл Версия Размер
ExtPrbHRM_v20110227_izm_NDFL.ZIP
.ZIP 683,63Kb
66
.ZIP 683,63Kb 66 Скачать

Простой пример - вычеты в 2010 году, первый с начала года по пустую дату, второй с середины года по конец года.

вычеты_7_7

По стандартным правилам результат - отсутствие вычетов в первой половине года!

После+загрузки_в_Зуп_стандарт

А вот перенос измененными правилами, как видно, все переносится!

После_загрузки_в_Зуп_зм

На сегодня, 06.03.11, я изменил текущие стандартные правила от 27.02.11. 

Видеоурок по использованию измененных правил уже почти готов, на следующей неделе выкладываю (за праздники поднажму).

 

Далее, для искушенных в коде, представляю алгоритм изменения выгрузки вычетов по НДФЛ на детей. Для начала маленькая проверка самих вычетов:

//******************************************************Изменил Самойлов 17.11.10
            // В ЗиК отсутствует проверка правильности периода, дату начала можно установить большей, чем дата окончания
            КоличествоСтрокТЗ = ТаблицаВычетовНаДетей.КоличествоСтрок();
            НомСтроки = 1;
            Для Сч=1 По КоличествоСтрокТЗ Цикл
                ТаблицаВычетовНаДетей.ПолучитьСтрокуПоНомеру(НомСтроки);
                Если (ТаблицаВычетовНаДетей.Период > ТаблицаВычетовНаДетей.ПериодЗавершения)И(ПустоеЗначение(ТаблицаВычетовНаДетей.ПериодЗавершения)=0) Тогда
                    Сообщить("Некорректный период для вычета на детей у  "+Источник);
                    Сообщить("ДатаНачалаВычета (начала работы в организации)-  "+ТаблицаВычетовНаДетей.Период+", дата окончания вычета - "+ТаблицаВычетовНаДетей.ПериодЗавершения);
                    ТаблицаВычетовНаДетей.УдалитьСтроку(НомСтроки);
                Иначе
                    НомСтроки = НомСтроки + 1;
                КонецЕсли;
            КонецЦикла;
//*******************************************************************************

А вот и сами изменения алгоритма выгрузки, а точнее инвентаризации всевозможных случаев:

    ТаблицаВычетовНаДетей.Свернуть("Физлицо, Период, ПериодЗавершения, КодВычета", "КоличествоДетей, КоличествоДетейЗавершения");
    ТаблицаВычетовНаДетей.Сортировать("+Период,+ПериодЗавершения");
    Пока ТаблицаВычетовНаДетей.КоличествоСтрок() > 0 Цикл

        Если ТаблицаВычетовНаДетей.КоличествоСтрок() > 1 Тогда
            ТаблицаВычетовНаДетей.ПолучитьСтрокуПоНомеру(1);

            Для Номер = 2 По ТаблицаВычетовНаДетей.КоличествоСтрок() Цикл
                КодВычета = ТаблицаВычетовНаДетей.ПолучитьЗначение(Номер, "КодВычета");
                Если КодВычета <> ТаблицаВычетовНаДетей.КодВычета Тогда
                    Продолжить;
                КонецЕсли;

                // Правила обработки двух пересекающихся периодов
                //  Всегда у первого периода дата начала меньше чем у второго
                //  С одинаковой датой начала, первым пойдет пустой период

                // 1. даты окончания заполнены и совпадают
                //      в первом периоде: дата окончания становится на день меньше даты начала второго периода
                //      во втором периоде: количество детей - сумма первого и второго периодов

                // 2. у первого периода не заполнена дата окончания, у второго - заполнена
                //      в первом периоде: дата начала становится на день позже даты окончания второго периода
                //      во втором периоде: количество детей - сумма первого и второго периодов

                // 3. у первого и второго периодов совпадают даты начала
                //      в первом периоде: количество детей - сумма первого и второго периодов
                //      во втором периоде: дата начала становится на день больше даты окончания первого периода

                // 4. даты окончания заполнены, не совпадают
                //      в первом периоде: дата окончания становится на день меньше даты начала второго периода
                //      во втором периоде: дата начала становится на день больше даты окончания первого периода
                //      добавляется еще один период:
                //          с даты окончания первого до даты начала второго периода,
                //          количество детей - сумма первого и второго периодов

                БудущийПериод                       = ТаблицаВычетовНаДетей.ПолучитьЗначение(Номер, "Период");
                БудущийПериодЗавершения             = ТаблицаВычетовНаДетей.ПолучитьЗначение(Номер, "ПериодЗавершения");
                БудущееКоличествоДетей              = ТаблицаВычетовНаДетей.ПолучитьЗначение(Номер, "КоличествоДетей");

//******************************************************Изменил Самойлов 17.11.10
                //Наложение, ограниченное равенством справа
                //А1___________________________________________________А2
                //                      Б1_____________________________Б2
                //
                //А2=Б1-1            Передвигаем  конец первого периода до пересечения, количество суммируем во втором периоде
//*******************************************************************************
                Если БудущийПериодЗавершения = ТаблицаВычетовНаДетей.ПериодЗавершения Тогда
                    // Запомним количество детей текущей записи
                    КоличествоДетей             = ТаблицаВычетовНаДетей.КоличествоДетей;

                    // У текущей записи уменьшим дату окончания
                    ТаблицаВычетовНаДетей.ПериодЗавершения = БудущийПериод-1;

                    // Исправим количество детей следующей записи
                    ТаблицаВычетовНаДетей.ПолучитьСтрокуПоНомеру(Номер);
                    ТаблицаВычетовНаДетей.КоличествоДетей           = ТаблицаВычетовНаДетей.КоличествоДетей + КоличествоДетей;

                    Прервать;
                КонецЕсли;
//******************************************************Изменил Самойлов 17.11.10
                //Если (ПустоеЗначение(ТаблицаВычетовНаДетей.ПериодЗавершения) = 1) Тогда
                    //// Запомним период завершения текущей записи
                    //ПериодЗавершения          = ТаблицаВычетовНаДетей.ПериодЗавершения;
                    //
                    //// Запомним количество детей текущей записи
                    //КоличествоДетей               = ТаблицаВычетовНаДетей.КоличествоДетей;
                    //
                    //// У текущей записи уменьшим дату начала
                    //ТаблицаВычетовНаДетей.Период = БудущийПериодЗавершения+1;

                    //// Исправим количество детей следующей записи
                    //ТаблицаВычетовНаДетей.ПолучитьСтрокуПоНомеру(Номер);
                    //ТаблицаВычетовНаДетей.КоличествоДетей         = ТаблицаВычетовНаДетей.КоличествоДетей + КоличествоДетей;

                // Выше закомментировал, т.к. меняют начало первого периода, что считаю неправильным,
                // потому, что все зиждется на сортировке по началу периода

                //Наложение, ограниченное равенством слева
                //конец первого периода может быть только пустое значение,
                //если будет конкретная дата, то сортировкой периоды поменяются местами и попадут в след. условие
                //А1___________________________________________________А2
                //Б1_____________________________Б2
                //
                //А2=Б2  Передвигаем  конец первого периода до конца пересечения, количество суммируем в первом периоде
                //Б1=Б2+1  Б2=А2  Превращаем второй период в кусок первого после пересечения
                Если (ПустоеЗначение(ТаблицаВычетовНаДетей.ПериодЗавершения) = 1)//к стандарту добавлю еще условие:
                            и (БудущийПериод = ТаблицаВычетовНаДетей.Период) Тогда
                    // Запомним период завершения текущей записи
                    А2          = ТаблицаВычетовНаДетей.ПериодЗавершения;

                    // Запомним количество детей текущей записи
                    КоличествоДетейА                = ТаблицаВычетовНаДетей.КоличествоДетей;

                    // Передвигаем  конец первого периода до конца пересечения
                    ТаблицаВычетовНаДетей.ПериодЗавершения = БудущийПериодЗавершения;                       //А2=Б2

                    // Превращаем второй период в кусок первого после пересечения
                    ТаблицаВычетовНаДетей.ПолучитьСтрокуПоНомеру(Номер);
                    КоличествоДетейБ                        = ТаблицаВычетовНаДетей.КоличествоДетей;
                    ТаблицаВычетовНаДетей.КоличествоДетей   = КоличествоДетейА;
                    ТаблицаВычетовНаДетей.Период            = ТаблицаВычетовНаДетей.ПериодЗавершения + 1;   //Б1=Б2+1
                    ТаблицаВычетовНаДетей.ПериодЗавершения  = А2;                                           //Б2=А2
                    //количество суммируем в первом периоде
                    ТаблицаВычетовНаДетей.ПолучитьСтрокуПоНомеру(1);
                    ТаблицаВычетовНаДетей.КоличествоДетей   = КоличествоДетейА + КоличествоДетейБ;
//*******************************************************************************
                    Прервать;
                КонецЕсли;

                Если (БудущийПериод = ТаблицаВычетовНаДетей.Период) Тогда
                    // Запомним период завершения текущей записи
                    ПериодЗавершения            = ТаблицаВычетовНаДетей.ПериодЗавершения;

                    // У текущей записи исправим количество детей
                    ТаблицаВычетовНаДетей.КоличествоДетей           = ТаблицаВычетовНаДетей.КоличествоДетей + КоличествоДетей;

                    // Исправим дату начала следующей записи
                    ТаблицаВычетовНаДетей.ПолучитьСтрокуПоНомеру(Номер);
                    ТаблицаВычетовНаДетей.Период    = ПериодЗавершения + 1;

                    Прервать;
                КонецЕсли;
//******************************************************Изменил Самойлов 17.11.10
                //Если (БудущийПериод < ТаблицаВычетовНаДетей.ПериодЗавершения) Тогда

                //Выше - Наложение, ограниченное равенством слева
                //конец первого периода меньше
                //А1__________________А2
                //Б1_____________________________Б2
                //
                //Б1=А2+1      Передвигаем  начало второго периода после пересечения, количество суммируем в первом периоде


                //Дальше
                //Второй период находится внутри первого
                //А1____________________________________________________________________А2
                //                      Б1_____________________________Б2
                //
                //А2=Б1-1            Первый период становится куском первого периода до пересечения
                //Б1=Б2+1   Б2=А2    Второй период становится куском первого периода после пересечения
                //В1=Б1 В2=Б2        Создаем третий период - пересечение

                Если   ((БудущийПериод <  ТаблицаВычетовНаДетей.ПериодЗавершения) // условие для Б1, равно быть не может
                       ИЛИ((БудущийПериод >  ТаблицаВычетовНаДетей.ПериодЗавершения) //Если Б1>А2, то только если А2 пустое
                         И(ПустоеЗначение(ТаблицаВычетовНаДетей.ПериодЗавершения) = 1))) И //теперь условие для Б2
                          (((БудущийПериодЗавершения <  ТаблицаВычетовНаДетей.ПериодЗавершения)И(ПустоеЗначение(БудущийПериодЗавершения) = 0))
                      ИЛИ ((БудущийПериодЗавершения >  ТаблицаВычетовНаДетей.ПериодЗавершения)
                         И(ПустоеЗначение(ТаблицаВычетовНаДетей.ПериодЗавершения) = 1))) Тогда
                    // Запомним реквизиты текущей записи
                    ПериодЗавершения            = ТаблицаВычетовНаДетей.ПериодЗавершения;
                    КоличествоДетей             = ТаблицаВычетовНаДетей.КоличествоДетей;

                    // У текущей записи уменьшим дату окончания
                    ТаблицаВычетовНаДетей.ПериодЗавершения = БудущийПериод-1;                               //А2=Б1-1

                    // Исправим дату начала следующей записи
                    ТаблицаВычетовНаДетей.ПолучитьСтрокуПоНомеру(Номер);
                    ТаблицаВычетовНаДетей.Период            = ТаблицаВычетовНаДетей.ПериодЗавершения + 1;   //Б1=Б2+1
                    ТаблицаВычетовНаДетей.ПериодЗавершения  = ПериодЗавершения;                             //Б2=А2
                    // Добавим новую запись между первым и вторым периодом
                    ТаблицаВычетовНаДетей.НоваяСтрока();
                    ТаблицаВычетовНаДетей.Физлицо                   = Источник;
                    ТаблицаВычетовНаДетей.Период                    = БудущийПериод;                        //В1=Б1
                    ТаблицаВычетовНаДетей.ПериодЗавершения          = БудущийПериодЗавершения;              //В2=Б2
                    ТаблицаВычетовНаДетей.КодВычета                 = КодВычета;
                    ТаблицаВычетовНаДетей.КоличествоДетей           = КоличествоДетей + БудущееКоличествоДетей;
                    ТаблицаВычетовНаДетей.КоличествоДетейЗавершения = КоличествоДетей;

                    Прервать;
                КонецЕсли;

                //Периоды пересекаются краями
                //А1______________________________А2
                //                      Б1_____________________________Б2
                //
                //А2=Б1-1            Первый период становится куском первого периода до пересечения
                //Б1=А2+1            Второй период становится куском второго периода после пересечения
                //В1=Б1 В2=А2        Создаем третий период - пересечение
                Если ((БудущийПериод <  ТаблицаВычетовНаДетей.ПериодЗавершения) // условие для Б1, равно быть не может
                     ИЛИ((БудущийПериод >  ТаблицаВычетовНаДетей.ПериодЗавершения) //Если Б1>А2, то только если А2 пустое
                       И(ПустоеЗначение(ТаблицаВычетовНаДетей.ПериодЗавершения) = 1))) И //теперь условие для Б2
                        ((БудущийПериодЗавершения >  ТаблицаВычетовНаДетей.ПериодЗавершения )
                     ИЛИ((БудущийПериодЗавершения <  ТаблицаВычетовНаДетей.ПериодЗавершения )
                        И(ПустоеЗначение(БудущийПериодЗавершения) = 1))) Тогда
//*******************************************************************************
                    // Запомним реквизиты текущей записи
                    ПериодЗавершения            = ТаблицаВычетовНаДетей.ПериодЗавершения;
                    КоличествоДетей             = ТаблицаВычетовНаДетей.КоличествоДетей;

                    // У текущей записи уменьшим дату окончания
                    ТаблицаВычетовНаДетей.ПериодЗавершения = БудущийПериод-1;

                    // Исправим дату начала следующей записи
                    ТаблицаВычетовНаДетей.ПолучитьСтрокуПоНомеру(Номер);
                    ТаблицаВычетовНаДетей.Период    = ПериодЗавершения + 1;

                    // Добавим новую запись между первым и вторым периодом
                    ТаблицаВычетовНаДетей.НоваяСтрока();
                    ТаблицаВычетовНаДетей.Физлицо                   = Источник;
                    ТаблицаВычетовНаДетей.Период                    = БудущийПериод;
                    ТаблицаВычетовНаДетей.ПериодЗавершения          = ПериодЗавершения;
                    ТаблицаВычетовНаДетей.КодВычета                 = КодВычета;
                    ТаблицаВычетовНаДетей.КоличествоДетей           = КоличествоДетей + БудущееКоличествоДетей;
                    ТаблицаВычетовНаДетей.КоличествоДетейЗавершения = КоличествоДетей;

                    Прервать;
                КонецЕсли;

            КонецЦикла;

            ТаблицаВычетовНаДетей.Свернуть("Физлицо, Период, ПериодЗавершения, КодВычета", "КоличествоДетей, КоличествоДетейЗавершения");
            ТаблицаВычетовНаДетей.Сортировать("+Период,+ПериодЗавершения");
        КонецЕсли;

        ТаблицаВычетовНаДетей.ПолучитьСтрокуПоНомеру(1);

        ВыгрузитьПоПравилу(ТаблицаВычетовНаДетей, , , , "НДФЛСтандартныеВычетыНаДетей");

        ТаблицаВычетовНаДетей.УдалитьСтроку(1);

    КонецЦикла;

Благодарю alexk-is за //infostart.ru/public/19856/

 

Публикация //infostart.ru/public/19622/ не активна, но все равно, благодарю Владислава Томашевича.

Изменения новых правил, дополнения отслеживаем на моем блоге: Изменить 1С

См. также

Обновление для КА 1.1, ЗУП 2.5, БУХ 2.0: НДС, ЕФС-1, Расчет страховых взносов, Мобилизация, Статистика, Электронные трудовые книжки, 2-НДФЛ, Регламентированная отчетность, Кадровый учет, Прослеживаемость импортных товаров

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

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

19900 руб.

01.04.2020    140604    678    352    

232

SALE! 20%

Перенос данных из УПП 1.3 в ERP 2 / УТ 11 / КА 2. Переносятся документы, справочная информация и остатки

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

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) в продаже с 2015 года, постоянно работаем над их развитием | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

45650 36520 руб.

04.08.2015    159659    363    267    

345

SALE! 15%

[ED3] Обмен для ERP 2.5, КА 2.5, УТ 11.5 БП 3.0, Розница, УНФ и других с EnterpriseData (универсальный формат обмена), правила обмена

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

25080 22572 руб.

12.06.2017    134915    722    291    

388

Перенос данных из Парус 8 в ЗГУ 3

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

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

84000 руб.

19.08.2020    22442    19    1    

22

SALE! 20%

Перенос данных из ERP 2 / КА 2 / УТ 11 в БП 3.0. Переносятся документы, начальные остатки и справочники

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | В продаже с 2019г. | Воспользовались более 176 предприятий! | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой, обращайтесь!

34650 27720 руб.

15.04.2019    68408    178    138    

111

SALE! 20%

Перенос данных из ERP 2 / КА 2 в ЗУП 3. Переносятся остатки, документы и справочники

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

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Воспользовались более 79 предприятий! | Предлагаем приобрести готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | В продаже с 2020г. | Оперативно обновляем правила до актуальных релизов 1С | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

43450 34760 руб.

03.12.2020    34164    80    58    

78

SALE! 10%

Перенос данных из УТ 10.3 в УТ 11.5. Переносятся документы (обороты за период), справочная информация и остатки

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.87.x) и УТ 11.5 (11.5.16.x).

28000 25200 руб.

23.07.2020    46280    196    64    

157

SALE! 10%

Перенос данных из БП 3.0 в УТ 11 / КА 2 / ERP 2. Переносятся начальные остатки, документы и справочники

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

В продаже с 2014г. | Воспользовались более 122 предприятий! | Перенос данных из БП 3.0 в УТ 11 | из БП 3.0 в КА 2 | из БП 3.0 в ERP | Сэкономьте свое время - используйте готовое решение для перехода! | Постоянно работаем над развитием переноса данных | Обновляем на новые релизы 1С | Есть фильтр выгрузки по организациям | Переносятся начальные остатки на выбранную дату, документы за период времени и вся возможная справочная информация | Перенос сделан на технологии КД 2 (правила конвертации данных)

50722 45650 руб.

31.10.2014    231386    124    327    

295
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. samamoiloff 861 16.12.10 16:51 Сейчас в теме
Изменения стандартных правил выгрузки перехода с ЗиК на ЗУП
2. melenaspb 208 21.12.10 11:00 Сейчас в теме
Столкнулась тем что неправильно переносится ФСС_НС в те месяца когда есть превышение за 415000
Точнее ФСС_НС в данном случае не переносится вообще - страховых нет, а ФСС_НС есть, но про него просто забыли.
3. samamoiloff 861 22.12.10 12:14 Сейчас в теме
Мне задан был вопрос
когда период действия больничного отличается от периода регистрации. То есть если человек болел в январе, а больничный проведен в феврале, то записи по начислению больничного в соответсвующий документ Перенос данных не попадут (и не попадет ни в январь, ни в февраль). Аналогично будет, если человек начал болеть в январе, а закончил феврале, то январский период больничного выпадает вообще

Вот такую ситуацию я исследовал:
Правило конвертации объектов "НачисленияИУдержания". Обработчик "ПослеЗагрузки".
Если смотреть в отладчике в наборе записей РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций все загружаемые записи присутствуют, при вызоае алгоритма в 41 строке обработчика:
Выполнить(Алгоритмы.РассчитатьДниЧасыПоПятидневке);
часть записей в наборе пропадает.
В этом алгоритме происходит запись документа "ПереносДанных", который является регистратором для данного набора записей, при этом часть записей не попадает в виртуальную таблицу РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ФактическийПериодДействия,
с которой в дальнейшем теле алгоритма в запросе происходит ВНУТРЕННЕЕ СОЕДИНЕНИЕ с таблицей РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций. Полученный результат запроса не содержит всех исходных записей набора регистра, который загружается в табличную часть документа "ПереносДанных".
В результате теряются при загрузке данные о начислениях по следующим
признакам:
1. Вид расчета источника -
ВидРасчета.ОплатаБЛЗаСчетРаботодателяЕНВДс2010 (другие виды расчета больничных не теряются, хотя в приемнике фигурирует для всех один и тотже вид расчета - ОплатаПоСреднемуБЛ)
2. Период действия расчета - предыдущий месяц
3. Если загружать данные в чистую информационную базу начиная с месяца, в котором есть "пропадающие" начисления, то начисления не пропадают. Если включить в выгрузку предыдущий "пропадающим" начислениям месяц, то начисления пропадают.

Я, к сожалению, не могу знать как заполняется виртуальная таблица РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ФактическийПериодДействия
при проведении документа "ПереносДанных" и почему при так складывающихся условиях (период действия предыдущего месяца и вид расчета ИСТОЧНИКА означенный выше) она не заполняется нужными записями, хотя в основной таблице регистра весь набор записей сохраняется. При загрузке ведь все виды расчета больничного конвертируются в один!
Не понятно.
4. пользователь 13.02.11 00:25
Сообщение было скрыто модератором.
...
5. samamoiloff 861 06.03.11 08:39 Сейчас в теме
6. samamoiloff 861 06.03.11 08:52 Сейчас в теме
Добавил в "современные" правила свои изменения по вычетам и выложил. Почему-то думал, что вот-вот ребята из 1С все поправят. Видимо затерялось мое письмишко у них...
Изначально мне ответили, что "Ошибка зарегистрирована с номером 10066919.
Сроки исправления: в одном из следующих релизов." Это было 15.12.11
7. post279 04.01.12 12:59 Сейчас в теме
А где посмотреть "современные" правила?
8. samamoiloff 861 10.01.12 20:35 Сейчас в теме
(7) Так на сайте 1С поддержки пользователей... Или в новом релизе ЗУП (как их достать из релиза см. мой видеоурок). А что, еще кто-то переходит?
9. post279 11.01.12 05:53 Сейчас в теме
Оставьте свое сообщение