Здравствуйте.
Написала отчет на VIP. Использовала табельные функции WT_GHBD и WT_GetDaysBwDates для нахождения часов и дней по графику и фактически. При выборочной проверке все было нормально. Однако обнаружила проблему по принятым в периоде , за который нахожу нужные дни и часы: в табеле дни и часы по графику показаны в зависимости от факта наличия повторного трудоустройства, т.е. по сотрудникам, в истории увольнений которых есть записи, фонд показан за весь месяц, а по сотрудникам, у которых нет записей в истории увольнений, фонд показан с учетом даты приема. Мне же для работы нужен был фонд за целый месяц. Поэтому для принятых в периоде, с которым работаю, решила воспользоваться функциями ChaGR(M,Y,R) и DniGR(M,Y,R). Компиляция прошла без ошибок, но при запуске интерфейса в Галактике получаю ошибку «Runtime error 216 (rtl: попытка обращения к некорректному дескриптору) in G_zarpl.dll at 00090BB4». Если комментирую эти функции, то ошибки нет. Может кто-нибудь подскажет, что сделать.
Runtime error 216 in G_zarpl.dll
Модераторы: m0p3e, edward_K, Модераторы
Re: Runtime error 216 in G_zarpl.dll
Возможно, этим функциям для работы требуется какой-нибудь инициализированный контекст, который при расчете зарплаты есть, а в вашем интерфейсе его нет. Попробуйте до этих функций вставить InitWorkingTable, вдруг да поможет. А если нет, то не теряйте время на поиск причины, просто сделайте свой аналог. Всего одна запись из таблицы KLNDR требуется, чтобы дни и часы по нужному графику за нужный месяц посчитать, и строчек 5 кода.
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Runtime error 216 in G_zarpl.dll
1. Если нет записи в истории - то считается с даты приема - эт нормально. Или вам нужны часы по графику? В табеле чаго в плановых часах ?
2. Те функции предназначены для расчета ЗП и без IntInit не работают(+еще может что нибудь).
3. Проще для часов по графику написать свою функцию или поискать стандартный объект. Но табельные показывают с учетом переходов - так что лучше отталкиваться от них.
2. Те функции предназначены для расчета ЗП и без IntInit не работают(+еще может что нибудь).
3. Проще для часов по графику написать свою функцию или поискать стандартный объект. Но табельные показывают с учетом переходов - так что лучше отталкиваться от них.
-
- Местный житель
- Сообщения: 554
- Зарегистрирован: 17 июл 2012, 11:56
- Откуда: Республика Беларусь, г.Могилев
Re: Runtime error 216 in G_zarpl.dll
IntInit и InitWorkingTable использую, ведь работаю с WT_GHBD и WT_GetDaysBwDates.
To KATZ. Я уже посмотрела KLNDR. Насчет 5 строчек кода думаю Вы погорячились. Придется считать не только дни, но часы и минуты. Могут возникнуть проблемы при наличии переходов в межпериод. И по правде говоря, не хочется изобретать велосипед, если есть готовые функции. Но, если проблема не решится, то придется.
To EDWARD_K. В том то и дело, что в табелях по принятым в нужном периоде показано по-разному. Например, фонд за 07.2014 - 175 часов. Сотрудники приняты в 07.2014, не с 1-го числа. Пусть оба отработали за месяц 100 часов. У одного в табеле по плану вижу 175 часов, у другого – 100. Мне надо 175. Т.о. при использовании табельных функций с одним сотрудником проблемы нет, получаю то, что надо, а с другим – проблема.
To KATZ. Я уже посмотрела KLNDR. Насчет 5 строчек кода думаю Вы погорячились. Придется считать не только дни, но часы и минуты. Могут возникнуть проблемы при наличии переходов в межпериод. И по правде говоря, не хочется изобретать велосипед, если есть готовые функции. Но, если проблема не решится, то придется.
To EDWARD_K. В том то и дело, что в табелях по принятым в нужном периоде показано по-разному. Например, фонд за 07.2014 - 175 часов. Сотрудники приняты в 07.2014, не с 1-го числа. Пусть оба отработали за месяц 100 часов. У одного в табеле по плану вижу 175 часов, у другого – 100. Мне надо 175. Т.о. при использовании табельных функций с одним сотрудником проблемы нет, получаю то, что надо, а с другим – проблема.