Имя: Пароль:
1C
 
Количество дней в периоде
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
ВЫБРАТЬ
    КОЛИЧЕСТВО(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря) КАК ДатаКалендаря
ИЗ
    РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
ГДЕ
    РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НачальнаяДата И &КонечнаяДата
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.