Имя: Пароль:
1C
1С v8
СКД представление стажа в понятном виде
,
0 nulback
 
03.11.17
12:25
Добрый день. Уважаемые подскажите, запросом получаю количество дней стажа, как его представить в виде надписи например 1 год 4 месяца?
1 Timon1405
 
03.11.17
12:26
(0)Вызвать функцию общего модуля где она в том виде, как вам нужно
2 youalex
 
03.11.17
12:26
выражение представления
3 nulback
 
03.11.17
13:54
(1) нет такой функции.
4 DrShad
 
03.11.17
13:54
(3) сделай, будь мужиком!
5 nulback
 
03.11.17
13:56
(4) если бы я знал, я бы не просил у вас помощи
6 DrShad
 
03.11.17
13:58
(5) за тебя сделать?
7 nulback
 
03.11.17
14:00
(6) мне же не функция нужна, мне в отчете вычисляемое поле надо бы написать, можешь подсказать куда копать.
8 DrShad
 
03.11.17
14:03
(7) в (2) ответ на твой вопрос
9 тарам пам пам
 
03.11.17
14:10
хм, а как будут учитываться високосные года, если есть только количество дней? месяцы с различным количеством дней?
10 DrShad
 
03.11.17
14:14
(9) ты конечно же не поверишь, но с високосными годами РазностьДат умеет работать
11 nulback
 
03.11.17
14:23
(8) ага спс, только я не пойму как из количества дней получить сколько лет и месяцев.
12 nulback
 
06.11.17
15:50
помогите уже запарился в этих цифрах, получилось нечто подобное но не то.

вот примеры расчета, покажите где я тупанул

РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(&Период, ДЕНЬ, -ВТДанныеПоСтажу.КоличествоДней), ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(&Период, ДЕНЬ, -ВТДанныеПоСтажу.КоличествоДней), ДЕНЬ, ВТДанныеПоСтажу.КоличествоДней), ГОД) КАК ЛетСтажа

при значении количества дней 340 выдает 1 год


а вот расчет для месяцев стажа

ВЫБОР
            КОГДА РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(&Период, ДЕНЬ, -ВТДанныеПоСтажу.КоличествоДней), ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(&Период, ДЕНЬ, -ВТДанныеПоСтажу.КоличествоДней), ДЕНЬ, ВТДанныеПоСтажу.КоличествоДней), МЕСЯЦ) = 0
                ТОГДА 0
            ИНАЧЕ РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(&Период, ДЕНЬ, -ВТДанныеПоСтажу.КоличествоДней), ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(&Период, ДЕНЬ, -ВТДанныеПоСтажу.КоличествоДней), ДЕНЬ, ВТДанныеПоСтажу.КоличествоДней), МЕСЯЦ) - 12 * (ВЫРАЗИТЬ(РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(&Период, ДЕНЬ, -ВТДанныеПоСтажу.КоличествоДней), ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(&Период, ДЕНЬ, -ВТДанныеПоСтажу.КоличествоДней), ДЕНЬ, ВТДанныеПоСтажу.КоличествоДней), МЕСЯЦ) / 12 - 0.5 КАК ЧИСЛО(10, 0)))
        КОНЕЦ) КАК МесяцевСтажа

при количестве дней 79 выдает 0 г. 3 мес.