Принцип появления записей-перерасчётов
Показывать по
10
20
40
сообщений
- 1
- 2
22.06.2012
14:20
#1
Здравствуйте!
1С:Зарплата и Кадры 7.7. Удаление обработкой документов в закрытых периодах.
При удалении документов в закрытых периодах, в текущем периоде появляются записи-перерасчёты.
Хочу узнать по какому принципу они появляются, что их генерирует? Для каких документов/видов расчётов это предусмотрено?
Спасибо.
1С:Зарплата и Кадры 7.7. Удаление обработкой документов в закрытых периодах.
При удалении документов в закрытых периодах, в текущем периоде появляются записи-перерасчёты.
Хочу узнать по какому принципу они появляются, что их генерирует? Для каких документов/видов расчётов это предусмотрено?
Спасибо.
22.06.2012
15:20
#3
"Их движок делает. В свою обработку в начале впишите:
и в конце:
но ЗиК нужно аккуратно чистить, там связей довольно много смысловых, не нарубите дров"
ПравилоПерерасчета.Применять(0);
и в конце:
ПравилоПерерасчета.Применять(1);
но ЗиК нужно аккуратно чистить, там связей довольно много смысловых, не нарубите дров"
22.06.2012
15:49
#5
Thorvardr, благодарю!
Но вот что-то в обработке при пометке на удаление - не сработало...
Но вот что-то в обработке при пометке на удаление - не сработало...
22.06.2012
16:12
#8
Для иммитации ситуации можно просто удалить документы ВыплатаЗаработнойПлаты за прошлый период...
Не помогло и вмешательство в процедуру глобального модуля: Процедура ПриОтменеПроведенияДокумента(Документ).
Рисовод-у:
Да я сворачиваю базу. От всех уволенных уже почистил, занимаюсь работающими...
Не помогло и вмешательство в процедуру глобального модуля: Процедура ПриОтменеПроведенияДокумента(Документ).
Рисовод-у:
Да я сворачиваю базу. От всех уволенных уже почистил, занимаюсь работающими...
22.06.2012
18:58
#10
"Ну, тогда так попробуйте:
В процессе система станет вас озадачивать вопросами типа "Хотите переначислить зарплату?", "Хотите закрыть вычеты?" и т.п. Так уж у 1С написано, что хоть в поточном режиме, хоть нет, вопросы эти все равно задаются. "Нет" нужно отвечать."
НачатьТранзакцию(); //так быстрее будет и если будет отмена со стороны пользователя или ошибка какая нибудь, база "вернется" в исходное состояние
ЖрнЗарплата=СоздатьОбъект("ЖурналРасчетов.Зарплата");
НачПериод=ЖрнЗарплата.ТекущийПериод();
Доки=СоздатьОбъект("Документ");
Доки.ВыбратьДокументы();
Пока Доки.ПолучитьДокумент()=1 Цикл
Пока ЖрнЗарплата.ВыбратьЗаписиПоДокументу(Доки.ТекущийДокумент())=1 Цикл //именно цикл, т.к. внутри будет УдалитьЗапись(), а оно приводит к смещению выборки
Пока ЖрнЗарплата.ПолучитьЗапись()=1 Цикл
ТекЗапись=ЖрнЗарплата.ТекущаяЗапись();
ТекПериод=ЖрнЗарплата.ТекущийПериод();
Если ТекЗапись.ПериодРегистрации<>ТекПериод Тогда
ЖрнЗарплата.УстановитьТекущийПериод(ТекПериод,0);
КонецЕсли;
ЖрнЗарплата.УдалитьЗапись();
КонецЦикла;
КонецЦикла;
Сообщить("Пометка на удаление: "+глПредставлениеДокумента(Доки.ТекущийДокумент()));
ЖрнЗарплата.УстановитьТекущийПериод(ЖрнЗарплата.ПериодПоДате(Доки.ДатаДок),0);
Доки.Удалить(0);
КонецЦикла;
ЖрнЗарплата.УстановитьТекущийПериод(НачПериод,0);
ЗафиксироватьТранзакцию();
В процессе система станет вас озадачивать вопросами типа "Хотите переначислить зарплату?", "Хотите закрыть вычеты?" и т.п. Так уж у 1С написано, что хоть в поточном режиме, хоть нет, вопросы эти все равно задаются. "Нет" нужно отвечать."
- 1
- 2
Читают тему
(гостей: 1)