Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Метод Рассчитать() обнуляет результат записи в журнале рассчетов          
Мичман Харитонов Подменю пользователя
сообщение 15.07.13, 13:03
Сообщение #1

Завсегдатай
****
Группа: Пользователи
Сообщений: 164
Из: м. Кам'янське
Спасибо сказали: 26 раз
Рейтинг: 0

Доброго дня!

Конфигурация ЗиК (самописная), дописываю процедуру проведения документа "ПриказПоОтпуску", чтобы он, как теперь положено, формировал отчисления в Пенсионный фонд, если тип отпуска - ПоБеременностиИРодам.

В Процедуру ОбработкаПроведения() добавил вот такой кусок кода

    Если  ВидОтпуска = Перечисление.ВидыОтпуска.ПоБеременностиИРодам Тогда
                      //вводим 2% отчислений по ЕСВ с отпуска по беременности и родам
                                Пенс=0;
            Сообщить(Начислено);

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

    КонецЕсли;

И все бы ничего, но после того, как отрабатывает метод Рассчитать(),
в журназе расчетов из записей с пенсионными исчезает ХозОперация, и обнуляется результат.

Подскажите пожалуйста, в чем может быть причина? Гугл не помог ((


 ! 

Правила, 5
 


Сообщение отредактировал Vofka - 15.07.13, 13:18

Мичман Харитонов Подменю пользователя
сообщение 16.07.13, 16:25
Сообщение #2

Завсегдатай
****
Группа: Пользователи
Сообщений: 164
Из: м. Кам'янське
Спасибо сказали: 26 раз
Рейтинг: 0

Вопрос решен, спасибо всем, кто помог ))

Vofka Подменю пользователя
сообщение 16.07.13, 16:32
Сообщение #3

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

Огласите решение для всех.

faiden Подменю пользователя
сообщение 16.07.13, 20:52
Сообщение #4

Общительный
**
Группа: Пользователи
Сообщений: 27
Из: Евпатория
Спасибо сказали: 9 раз
Рейтинг: 0

Цитата(Мичман Харитонов @ 15.07.13, 14:03) *
Доброго дня!

Конфигурация ЗиК (самописная), дописываю процедуру проведения документа "ПриказПоОтпуску", чтобы он, как теперь положено, формировал отчисления в Пенсионный фонд, если тип отпуска - ПоБеременностиИРодам.

И все бы ничего, но после того, как отрабатывает метод Рассчитать(),
в журназе расчетов из записей с пенсионными исчезает ХозОперация, и обнуляется результат.

Подскажите пожалуйста, в чем может быть причина? Гугл не помог ((


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

Мичман Харитонов Подменю пользователя
сообщение 17.07.13, 14:45
Сообщение #5

Завсегдатай
****
Группа: Пользователи
Сообщений: 164
Из: м. Кам'янське
Спасибо сказали: 26 раз
Рейтинг: 0

Цитата(faiden @ 16.07.13, 21:52) *
1. Абсолютно правильно делает, ибо:2. Почему вы решили, что документ "ПриказПоОтпуску" должен формировать какие-то записи в журнале расчетов? Насколько я знаю, ЕСВ и НДФЛ в журнал расчетов впихивет документ "РасчетЗарплаты". Правда все это в несамописной конфигурации.3. Почему бы не воспользоваться штатными средствами, а именно "Группы расчетов" -> "БазаЕСВ". И если уж совсем не помогает, то ковырять модуль расчета ЕСВ, хотя мне вполне хватило групп расчетов. Правда конфигурация не самописная, но изрядно рихтованная.


1) У меня приказ по отпуску формирует записи в журнале расчетов. Кем и зачем это было сделано до меня - неизвестно.
2) Аналогично первому пункту
3) такой группы расчета у меня просто нет ((. Возможно, не поверите, но...


Цитата(Vofka @ 16.07.13, 17:32) *
Огласите решение для всех.

Я не говорю, что нашел правильное решение, но это работает.

Добавил следующий кусок кода.
После расчета записей:
        Если  ВидОтпуска = Перечисление.ВидыОтпуска.ПоБеременностиИРодам Тогда
            Зрп.ВыбратьЗаписиПоДокументу(ТекущийДокумент());
    Зрп.ВыбратьЗаписиПоОбъекту(Сотрудник,ДатаНачала,ДатаОкончания);
               Пока Зрп.ПолучитьЗапись() = 1 Цикл
        Если (Зрп.ВидРасч=ВидРасчета.Пенсионный2004)И(Зрп.Результат=0) Тогда
        Зрп.Результат=Переменная(Зрп.ДатаНачала,Зрп.ДатаОкончания);
                    СпрХО = СоздатьОбъект("Справочник.ХозОперации");  
            СпрХО.НайтиПоНаименованию("Пенсионный с больничного листа",0,1);
            Зрп.УстановитьРеквизит("ХозОперация",СпрХО.ТекущийЭлемент());  
        Зрп.Записать();
        КонецЕсли;    
    КонецЦикла;
        КонецЕсли;

Документ нормально формирует записи в журнале расчетов.

Спасибо сказали: Vofka,

mister-x Подменю пользователя
сообщение 18.07.13, 9:52
Сообщение #6

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

Цитата(Мичман Харитонов @ 15.07.13, 13:03) *
дописываю процедуру проведения документа

тему в розділ програмісту icon_beer17.gif

Vofka Подменю пользователя
сообщение 18.07.13, 10:13
Сообщение #7

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

mister-x, перенес, спасибо! smile.gif

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 25.04.24, 18:24
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!