Принцип появления записей-перерасчётов

Новая тема
Показывать по 10 20 40 сообщений
Здравствуйте!

1С:Зарплата и Кадры 7.7. Удаление обработкой документов в закрытых периодах.
При удалении документов в закрытых периодах, в текущем периоде появляются записи-перерасчёты.
Хочу узнать по какому принципу они появляются, что их генерирует? Для каких документов/видов расчётов это предусмотрено?
Спасибо.
> Удаление обработкой документов в закрытых периодах
у автора обработки спроси.
"Их движок делает. В свою обработку в начале впишите:

ПравилоПерерасчета.Применять(0); 


и в конце:

ПравилоПерерасчета.Применять(1); 



но ЗиК нужно аккуратно чистить, там связей довольно много смысловых, не нарубите дров"
> не нарубите дров
похоже - уже!
Thorvardr, благодарю!
Но вот что-то в обработке при пометке на удаление - не сработало...
обработку бы увидеть
это попытка "свертки" базы ЗиК?
Для иммитации ситуации можно просто удалить документы ВыплатаЗаработнойПлаты за прошлый период...

Не помогло и вмешательство в процедуру глобального модуля: Процедура ПриОтменеПроведенияДокумента(Документ).

Рисовод-у:
Да я сворачиваю  базу. От всех уволенных уже почистил, занимаюсь работающими...
>  занимаюсь работающими...
а их-то зачем трогать?
"Ну, тогда так попробуйте:

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




В процессе система станет вас озадачивать вопросами типа "Хотите переначислить зарплату?", "Хотите закрыть вычеты?" и т.п. Так уж у 1С написано, что хоть в поточном режиме, хоть нет, вопросы эти все равно задаются. "Нет" нужно отвечать."
Читают тему
(гостей: 1)

Быстрый переход