Остатъци от отпуск при преминаване към ZUP 3
Клиентът реши да премине към ZUP 3.0 (преди това записите не се съхраняваха в 1C). Основното условие е пълното прехвърляне на историята на персонала за служители (текущо работещи), които да бъдат отразени в T-2 (по отношение на текущата задача това е ваканция).
Но как да го приложим?
Има два начина за въвеждане на ваканционни салда при прехвърляне или прехвърляне на данни:
- документ"Въвеждане на начални салда от празници"
- документ"Данни в началото на операцията"
защото Тъй като прехвърляме история на персонала според задачата, която включва данни за предоставени преди това отпуски, тогава единственият ни избор е„Въвеждане на начални салда от отпуски“. Но имаше проблем: ако програмата въведе данни за действителни празници по-рано от датата на въвеждане на балансите (и имаме точно такъв случай), тогава няма да работи за въвеждане на балансите! [това е задача #1 ]
Балансът по вид ваканция на определена дата в общия случай е разликата между данните на информационния регистър"Спечелени ваканционни права" и натрупващия регистър"Действителни ваканции", но за да се изчислят правилно балансите в нашия случай, е необходимо да се изхвърлят данните за действителните ваканции по-рано от "глобалната" начална дата на отчитане в програмата (спечелените ваканции се коригират автоматично от документа„Въвеждане на първоначални салда за ваканция“ на датата на въвеждане). [това е задача #2 ]
И накрая, необходимо е правилно да се показват отчетите за ваканции: формуляр за печат„Удостоверение за ваканция на служител“ и отчет„Салдо за ваканции“. [това е задача #3 ]
Тази корекция ще се изисква само в момента на въвеждане на документите„Въвеждане на първоначалните салда на празници“.
Освен това са направени промени във функциятаInitialDataFor Calculating Residuals (искайте корекция):
Оказа се, че печатният формуляр самостоятелно изчислява данни за баланса на отпуските, докато отчетът е изцяло базиран на данни от предварително обявени регистри по описаната схема. Механизмът на БСП дойде на помощ в изпълнението :-)
Печатният формуляр„Удостоверение за отпуск на служител“ ще работи след извършване на горните промени, но в нашия случай Клиентът искаше да види този сертификат в „стария“ формат (първоначално мигриран от ZUP 2.5, но по-късно променен на ZUP 3.0). Добавихме и възможност за генериране на сертификат за работна дата (удобно за съгласуване на данни в определен момент от минали или бъдещи периоди).
Основните подобрения бяха направени в отчета"Ваканционен баланс" : по аналогия с кода на заявката във функцията от общия модул"Ваканционен баланс" (по-рано в текста), беше добавен филтър за действителни отпуски по-рано от началната дата на отчитане.
Ще приложа този печатен формуляр и ще докладвам за тези, които може да имат затруднения при самостоятелното изпълнение.
Послеслов
Не описах механизма за зареждане на салда в документа"Въвеждане на начални салда на ваканции" (ние го внедрихме като външна обработка, която чете данни от предварително подготвени Excel файлове по определен алгоритъм) - всеки сам ще измисли реализация. Само ще поясня, че може да има няколко документа за въвеждане на салда за различни дати и различни видове празници (в края на краищата има ситуация, когато има салда за различни периоди, но бих препоръчал, ако е възможно, да намалите всичко до един конкретен период).
Описаният механизъм може да се използва за "бърза" корекция (без съдебни спорове в мотивите) на останалите отпуски за всички служители (тъй като използва"глобална" дата).
Аз също редовно препоръчвампогледнете типичния отчет„Остава от ваканцията“ и актуализирайте модифицирания (в този отчет вече има корекции на грешки от 1C).
Този механизъм е успешно приложен и все още работи (но не изключвам, че един ден 1C ще промени нещо и всичко ще се счупи).