Вход | Регистрация


1С:Предприятие ::

Метки:дата и время

Считать возраст

Ø [Волшебник, 03.05.04 - 23:10]
Я
   gleb
01.05.04 - 15:07
В ЗиК создаем отчет, где хотели бы видеть возраст сотрудников. Однако в отчете можно вставить только год рождения. Как получить возраст?
 
  Рекламное место пустует
   427
 
1 - 01.05.04 - 15:14
Мляяяяя.....

ТекущаяДата()-датаРождения....
   Волшебник
 
2 - 01.05.04 - 15:19
(1) не так все просто как кажется, если нужно получить возраст в виде:
лет, месяцев и дней
   427
 
3 - 01.05.04 - 15:33
Описывать использование функций
РазностьЛет
РазностьМесяцев
РазностьДней

считаю излишним ....
   DElo
 
4 - 01.05.04 - 23:23
(0) Если нужно в днях, месяцах и годах, то такая же функция прописана в расчёте стажа работы сотрудника на предприятии. Стаж "толкается" от даты приказа о приёме на работу до текущей даты. Сделай всё идентично.
   kadr
 
5 - 02.05.04 - 08:11
//******************************************************************************

//    глРазобратьРазностьДат(Дата1,Дата2,Лет,Месяцев,Дней)
//

//    Параметры:
//        Дата1    - первая дата (более поздняя, часто текущая, стаж определяется по состоянию на эту дату)

//        Дата2    - вторая дата (ранняя дата, с нее начинается "течение" стажа)
//        Лет        - в этот параметр будет записано кол-во лет между двумя датами (Дата1-Дата2)

//        Месяцев    - в этот параметр будет записано кол-во месяцев между двумя датами (Дата1-Дата2)
//        Дней    - в этот параметр будет записано кол-во дней между двумя датами (Дата1-Дата2)

//
//    Описание:

//        Процедура разбирает две даты и возвращает в параметрах кол-во лет, месяцев и дней
//        между двумя датами (Дата1-Дата2)

//
       // алгоритм Пенсионного фонда

       //Мк = ДатаМесяц(Дата1);

       //Гк = ДатаГод(Дата1);

       //Если ДатаЧисло(Дата1) - ДатаЧисло(Дата2) < 0 Тогда

       //    Дней = ДатаЧисло(Дата1) - ДатаЧисло(Дата2) + 30;

       //    Мк = Мк - 1;

       //Иначе

       //    Дней = ДатаЧисло(Дата1) - ДатаЧисло(Дата2);

       //КонецЕсли;

       //Если Мк - ДатаМесяц(Дата2) < 0 Тогда

       //    Месяцев = Мк - ДатаМесяц(Дата2) + 12;

       //    Гк = Гк - 1;

       //Иначе

       //    Месяцев = Мк - ДатаМесяц(Дата2);

       //КонецЕсли;

       //Лет    = Гк-ДатаГод(Дата2);

       //Дней = Дней + 1;

       //Если Дней >= 30 Тогда

       //    Дней = 0;

       //    Месяцев = Месяцев + 1;

       //КонецЕсли;

       //Если Месяцев = 12 Тогда

       //    Месяцев = 0;

       //    Лет    = Лет + 1

       //КонецЕсли;

Процедура глРазобратьРазностьДат(Знач Дата1,Знач Дата2,Лет=0,Месяцев=0,Дней=0) Экспорт

    Лет = 0; Месяцев = 0; Дней = 0;
    Если Дата1>Дата2 Тогда
        
        ВременнаяДата = Дата1;
        Если ДатаЧисло(ВременнаяДата)<ДатаЧисло(Дата2) Тогда
            Дней = ВременнаяДата-ДобавитьМесяц(ВременнаяДата,-1);
            ВременнаяДата = ДобавитьМесяц(ВременнаяДата,-1);
        КонецЕсли;
        Если ДатаМесяц(ВременнаяДата)<ДатаМесяц(Дата2) Тогда
            ВременнаяДата = ДобавитьМесяц(ВременнаяДата,-12);
            Месяцев = 12;
        КонецЕсли;
        Лет        = Макс(             ДатаГод  (ВременнаяДата)-ДатаГод  (Дата2),0);
        Месяцев    = Макс(Месяцев    +ДатаМесяц(ВременнаяДата)-ДатаМесяц(Дата2),0);
        Дней    = Макс(Дней        +ДатаЧисло(ВременнаяДата)-ДатаЧисло(Дата2),0);
        
       // скорректируем отображаемое значение, если "вмешалось" разное количество дней в месяцах

        Если Дата2 <> (ДобавитьМесяц(Дата1,-Лет*12-Месяцев)-Дней) Тогда
            Дней = Дней + (КонМесяца(Дата2)-НачМесяца(Дата2)) - (КонМесяца(ДобавитьМесяц(Дата1,-1))-НачМесяца(ДобавитьМесяц(Дата1,-1)));
        КонецЕсли;
    КонецЕсли;

КонецПроцедуры   // глРазобратьРазностьДат
   BorisG
 
6 - 02.05.04 - 09:34
(5) За свою выдаешь?
Источник, однако указывать надо... всеж таки объект авторского права...
   kadr
 
7 - 03.05.04 - 07:08
(6) Кто тебе сказал, что за свою?
Надо, так получайте (с) 1С ЗиК 244
Еще вопросы будут?
   BorisG
 
8 - 03.05.04 - 09:02
(7) Так я то и без твоих комментариев это знаю, только в таких случаях источник надо указывать.
   BorisG
 
9 - 03.05.04 - 09:04
+8 И, если уж совсем строго подходть... то иметь разрешение на публикацию от 1С и иметь купленную ЗиК для использования...
   Wareznic
10 - 03.05.04 - 09:16
+9  Народ, давай форум-то прикроем, а то столько коду тут светиться, права чужие нарушаются, ЗиК-и не покупаються (легально :)... Ну просто вакханалия...
А кадра в купе со Станиславом - к стенке за распространение и пособничество!
 
  Рекламное место пустует
   BorisG
 
11 - 03.05.04 - 09:25
(10) Ну приличия то надо в любом случае соблюдать.
   Wareznic
12 - 03.05.04 - 09:32
(11) В таком случае, сайт Станислава - ну просто кощунство над авторскими правами их владельцев.
   BorisG
 
13 - 03.05.04 - 09:42
(12) Примеры приведи. У него даже статья про терминал поправлена.
   Wareznic
14 - 03.05.04 - 09:53
(13) Зачем, когда в половине веток приводится код, а в доброй четверти из них - код типовых конфиг. Более того, обсуждая код в той или иной ветке (код одного из участников) некоторые просто цитируют (весь или частично), хотя автор разрешения на цитирование (а равно и публичное распространение) не давал. А сколько веток содержит упоминание торговых марок, в т.ч. той самой конторы, ради обсуждения продуктов которой затеян этот форум? При этом никто не удосужился в конце поста (или ветки) упомянуть об авторских правах упомянутых владельцев. В т.ч. и Вы - БорисГ !!! Мне поискать ветки с Вашим упоминанием торговых марок без указания факта принадлежности из законным владельцам ???
   Wareznic
15 - 03.05.04 - 10:02
Кстати, раз уж такой интересный диалог получается, то попрошу ВАС не тыкать мне. Я заметил, что это вошло у Вас в практику.Вы и своим клиентам на переговорах тыкаете, БорисГ?
   BorisG
 
16 - 03.05.04 - 10:05
Похоже, уважаемый, общепринятые правила интернета не знаете... Увы... но следовало бы знать.
   BorisG
 
17 - 03.05.04 - 10:06
+16 Кстати, поищи, "борец за авторские права" ;-)
   Wareznic
18 - 03.05.04 - 10:12
Это очень похоже на тебя, БорисГ, в (11) взываем к приличиям, а в (13 и 17) сами грешим этим.
(16) Привидите пример.
(17) Ктобы говорил, а как на счёт (6)? Выходит ТЫ у нас защитник копирайтов.
   kadr
 
19 - 03.05.04 - 10:17
(18) Вали его нАпол, ломай ему ... А ладно не буду..
(17) Но все-таки, стиль общения у Вас БГ хамский!

(17) Ты на грубость нарываешься, все ведь обидеть наровишь... (с) Высоций - специально для тебя
   GrayT
 
20 - 03.05.04 - 10:28
Эк Вас разобрало
   Жопа
21 - 03.05.04 - 10:30
Придлагаю вынести борьке вотум недоверия и лишить яго звязды, нафих !!!
   BorisG
 
22 - 03.05.04 - 10:31
Да... господа... продолжайте...
   Товарищ Майор
23 - 03.05.04 - 10:31
Вопрос (21) ставим на голосование...
   kadr
 
24 - 03.05.04 - 10:44
(23) Ладно, что-то флуд один пошел... Я бы понимаю встретились и морду (извините, лицо) друг другу побили, а так - пустая трепка...
   427
 
25 - 03.05.04 - 10:58
(23) Чем ставить будем вопрос?     Раком?

P.S. нихр... себе, товарищ майор припершись.  Борьба, панимашь. За чистоту.. Помойки ...
   Товарищ Майор
26 - 03.05.04 - 11:04
Каждый ставит тем местом, каким имеет!!!



Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует