EvgeniuXP
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Народ, извините, за громкий возглас, но 1С 8.х далеко до реальных задач предприятия вот пример: Мне нужно посчитать стаж (все скажут, а фигня , давайте вникнем в проблему и посмотрим как ее решить? На самом деле можно сделать, но через одно место (другого варинта, который был бы на много проще, я не нашел).... Итак: Мне приходит файл dbf, в котором есть две колонки "Номер вида оплат" и "количество дней" которые "прогулял" сотрудник.... Приходит этот файл раз в месяц, выдается общая сумма дней за месяц, которую сотрудник "нагулял".... Задача: Получить этот файл, загрузить куда-нибудь в 1С 8.0 и сделать следующее: Если сотрудник нагулял более 14 дней в году ТО к рабочей дате прибавить разницу дней Х - 14, если нет, то рабочая дата не смещается (т.е. прогулы прощаются)... Рабочая дата = дню поступлению: т.е. если сотрудник пришел 01.01.2003 года, то следующий рабочий год начинается с 01.01.2004, если он нагулял менее 14 дней, если нет, то прибавить эти дни.... тонкость заключается в одном: ежемесячный файл выдается раз в месяц и считает все нагуявшие дни за месяц... т.е. я не могу точно сказать, какие дни прогуленные относятся к какому периоду рабочего времени, но условно я взял 15 число, если дата рабочая до 15, включить все дни в будущий период, если больше, то тот который закрывается на данный момент.... вот, в чем это реализовать? в справочниках, регистрах или еще что то? в будущем, нужно получать отчет.... выдать рабочую дату и нагулявшие дни за рабочий год (рабочий год = дата начала рабочего года + Х -14), где Х должно быть более 14 дней.... еще одна малость: сотрудник отдела кадров может загрузить файл и может расчитать, но сами знаете, файл может прийти либо не доконца отработанный, либо выяснились еще какие-то нерпедвиденные ситуации, что этот файл добавили новыми сотрудниками, и надо все заново загрузить и расчитать, удалив предварительно предыдущий расчет, т.е. восстановить рабочий год...... вот.... ваши предложения? вроде сама структура проста... но одно плохо, даты смещаются от которой надо расчитывать рабочий год.... и их же еще запоминать.... а в восьмере это не реализован механизм.... Добавлено: забыл самое главное написать: в конце выдать общий стаж по сотруднику, т.е. со дня поступления + все прогулы за его работу (Х - 14 за каждый рабочий год который может еще и увеличится, раз рабочий год - это рабочий трудовой год без прогулов)... Но сами знаете, закон еще влияет на это все.... наши депутаты любят менять свои решения, сегодня 14, а завтра 20 или другое число... естественно если все пересчитается заново со дня поступления (если сотрудник работает 20 лет скажем), то сотрудник получится что и не прогулял ничего и убытки которые он понес, предприятие должно возместить.... но такой закон работает с определенной даты... а поэтому один закон считает так, а другой с другого периода уже так.... если подскажите как проще сделать, чтоб можно было все в одном запросе написать, то будет круто хотя у меня получилось почти, осталось только с историей стажа... чтоб кадровик мог восстановить предыдущие рабочие даты от которой считать.... (хотя и это решил, но не очень красиво... , но считает быстро  |