|   |   | 
| 
 | Количество дней в периоде | ☑ | ||
|---|---|---|---|---|
| 0
    
         Deahianaianyrto 18.08.14✎ 16:21 | 
        Как определить?     | |||
| 1
    
        Михаил Козлов 18.08.14✎ 16:22 | 
        Вычесть и поделить на 86400.     | |||
| 2
    
        butterbean 18.08.14✎ 16:23 | 
        а период это что??     | |||
| 3
    
        Господин ПЖ 18.08.14✎ 16:23 | 
        Астралябей. Сама мерит, было бы чего мерить...     | |||
| 4
    
         Deahianaianyrto 18.08.14✎ 16:23 | 
        Есть две даты, надо определить количество дней между ними.     | |||
| 5
    
        Крошка Ру 18.08.14✎ 16:24 | 
        Где голосовалка? Я - за "вычесть и поделить"     | |||
| 6
    
        acsent 18.08.14✎ 16:25 | 
        в запросе?     | |||
| 7
    
        salvator 18.08.14✎ 16:25 | 
        (4) Это невозможно... :(     | |||
| 8
    
        NcSteel 18.08.14✎ 16:26 | 
        (6) В запросе каждый дурак сможет, а ты календарем попробуй!     | |||
| 9
    
        Crush 18.08.14✎ 16:27 | 
        (5) Я за разностьДат     | |||
| 10
    
        floody 18.08.14✎ 16:27 | 
        через несколько десятков постов окажется, что автору нужно найти количество дней, фактически отработанных в базовом периоде по пятидневке..     | |||
| 11
    
        Timon1405 18.08.14✎ 16:30 | 
        У автора аллергия на красные буквы Я штоле? темы одна наркоманистее другой. ждем темы как сложить 2 числа в запросе     | |||
| 12
    
        KishMish 18.08.14✎ 16:52 | 
        (0)
 Запрос=Новый Запрос("ВЫБРАТЬ РАЗНОСТЬДАТ(&ДатаНач, &ДатаКон, ДЕНЬ)"); Запрос.Параметры.Вставить("ДатаНач",НачалоДня(ДатаНач)); Запрос.Параметры.Вставить("ДатаКон",КонецДня(ДатаКон)); Колво=Запрос.Выполнить().Выгрузить()[0][0]; Сообщить(Колво); | |||
| 13
    
        spiteful41 18.08.14✎ 17:16 | 
        // Процедура вычисляет количество лет, месяцев и дней между двумя датами
 // // Параметры // Дата1 – дата, первая дата (более поздняя, часто текущая, стаж определяется по состоянию на эту дату) // Дата2 – дата, вторая дата (ранняя дата, с нее начинается "течение" стажа) // Лет – Число, в этот параметр будет записано кол-во лет между двумя датами (Дата1-Дата2) // Месяцев – Число, в этот параметр будет записано кол-во месяцев между двумя датами (Дата1-Дата2) // Дней – Число, в этот параметр будет записано кол-во дней между двумя датами (Дата1-Дата2) // Процедура РазобратьРазностьДат(Дата1, Дата2, Лет = 0, Месяцев = 0, Дней = 0) Экспорт Лет = 0; Месяцев = 0; Дней = 0; Если Дата1 > Дата2 Тогда ВременнаяДата = Дата1; Если День(ВременнаяДата) < День(Дата2) Тогда Дней = (ВременнаяДата - ДобавитьМесяц(ВременнаяДата,-1))/86400; ВременнаяДата = ДобавитьМесяц(ВременнаяДата,-1); КонецЕсли; Если Месяц(ВременнаяДата) < Месяц(Дата2) Тогда ВременнаяДата = ДобавитьМесяц(ВременнаяДата,-12); Месяцев = 12; КонецЕсли; Лет = Макс( Год(ВременнаяДата) - Год(Дата2), 0); Месяцев = Макс(Месяцев + Месяц(ВременнаяДата) - Месяц(Дата2), 0); Дней = Макс(Дней + День(ВременнаяДата) - День(Дата2), 0); // скорректируем отображаемое значение, если "вмешалось" разное количество дней в месяцах Если Дата2 <> (ДобавитьМесяц(Дата1,-Лет*12-Месяцев)-Дней*86400) Тогда Дней = Дней + ((ДобавитьМесяц(Дата1,-Лет*12-Месяцев)-Дней*86400) - Дата2)/86400; //(День(КонецМесяца(Дата2)) - День(НачалоМесяца(Дата2))) - (День(КонецМесяца(ДобавитьМесяц(Дата1,-1))) - День(НачалоМесяца(ДобавитьМесяц(Дата1,-1)))); КонецЕсли; КонецЕсли; КонецПроцедуры // РазобратьРазностьДат | |||
| 14
    
        spiteful41 18.08.14✎ 17:17 | 
        (13) + в упп в модуле "ОбщегоНазначения" процедура     | |||
| 15
    
        Dionis Sergeevich 18.08.14✎ 17:21 | 
        ВЫБРАТЬ
 КОЛИЧЕСТВО(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря) КАК ДатаКалендаря ИЗ РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь ГДЕ РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НачальнаяДата И &КонечнаяДата | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |