Имя: Пароль:
1C
1С v8
Отслеживание смены паспорта сотрудником
0 iskurt
 
30.11.11
12:20
Добрый день.
Есть необходимость отслеживать не просрочил ли сотрудник замену паспорта по возрасту.
Дело в том, что некоторые просто забывают приносить в Кадры новые данные.

Хотелось бы иметь возможность самому следить иногда. Есть ли в 1С: 82 УПП 1.3 такие отчеты?

Если нет, то прошу помощи при написании такого отчета.
за основу взял ФИО, дата выдачи, возраст, осталось месяцев до следующей смены паспорта.
Логика: Высчитываем сколько лет и месяцев сотруднику, сколько остается месяцев до первой смены, если прошло, то сколько до следующей. и т.д
Заранее благодарен. Денис.
1 shuhard
 
30.11.11
12:23
(0) в типовой нет

напиши сам,
не вижу, что может помешать в запросе найти разницу дат
2 Поручик
 
30.11.11
12:23
Дежавю. Где-то уже обсуждалось.
3 iskurt
 
30.11.11
12:33
(1) дело в том что я начинающий программист, и мне синтаксис пока еще плохо известен. Вот и прошу помощи. Форму как бы сделал в Отчет, а вот запрос как написать? и как оптом в макет запереть. это для меня пока сложно.

Может кто текстом программы поможет?
4 shuhard
 
30.11.11
12:35
(3) развод детектед
5 guitar_player
 
30.11.11
12:36
(0) очень просто задание. Сядь и разберись, тебе же лучше будет
6 iskurt
 
30.11.11
12:36
(4) какой развод, блин я правда прошу помощи! ну нет так нет...
7 Поручик
 
30.11.11
12:36
(3) Дата регистрации:    11.07.2007     Стаж: 4 г. 5 мес.  
Тогда от пяти штук.
8 iskurt
 
30.11.11
12:37
дык я же не программист 1С - на делфях пишу, а на 1С так когда попросят. ито очень слаб....
мне одна фирма за 2 согласилась... я просто думал мож выиграю чо...
9 shuhard
 
30.11.11
12:40
(8) будь мужиком - сделай сам
10 Поручик
 
30.11.11
12:42
(8) За четыре года мог бы 1С освоить, сейчас бы не побирался по мисте с протянутой рукой.
11 almar
 
30.11.11
12:43
Возраст=Цел((ТекущаяДата()-ДР)/(60*60*24*365));
Если Возраст>20 И Возраст<45 Тогда
ДатаОбменаПо=ДобавитьМесяц(ДР,20*12+1);
ДатаОбменаС=ДобавитьМесяц(ДР,20*12);
Если Паспорт.ДокументДатаВыдачи<ДатаОбменаПо И Паспорт.ДокументДатаВыдачи<>Дата(1,1,1) И НЕ Паспорт.ДокументДатаВыдачи>=ДатаОбменаС Тогда
ВывестиОшибку(Таб,Об,НомерПП,НаименованиеФЛ,ФЛ,УдостоверениеЛичности,"Предупреждение: паспорт не обменян по достижению возраста 20 лет.");            
ЕстьОшибки = Истина;
КонецЕсли;
ИначеЕсли Возраст>45 Тогда    
ДатаОбменаПо=ДобавитьМесяц(ДР,45*12+1);
ДатаОбменаС=ДобавитьМесяц(ДР,45*12);
Если Паспорт.ДокументДатаВыдачи<ДатаОбменаПо И Паспорт.ДокументДатаВыдачи<>Дата(1,1,1) И НЕ Паспорт.ДокументДатаВыдачи>=ДатаОбменаС Тогда
ВывестиОшибку(Таб,Об,НомерПП,НаименованиеФЛ,ФЛ,УдостоверениеЛичности,"Предупреждение: паспорт не обменян по достижению возраста 45 лет.");            
ЕстьОшибки = Истина;
КонецЕсли;
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.