|
перевод количества дней к виду "2 года 3 мес. 4 дня" | ☑ | ||
---|---|---|---|---|
0
mirrr
12.10.12
✎
12:17
|
как это сделать?
|
|||
1
1Страх
12.10.12
✎
12:17
|
сколько в месяце дней?
|
|||
2
ZanderZ
12.10.12
✎
12:17
|
функцию написать
|
|||
3
DexterMorgan
12.10.12
✎
12:18
|
некорректно
|
|||
4
mirrr
12.10.12
✎
12:18
|
(2)а что в функции?
|
|||
5
DexterMorgan
12.10.12
✎
12:18
|
нужна дата отсчета
|
|||
6
DrShad
12.10.12
✎
12:19
|
(4) алгоритм перевода количества дней к виду "2 года 3 мес. 4 дня"
|
|||
7
DexterMorgan
12.10.12
✎
12:19
|
зависит сколько дней в году, какой месяц и тд
|
|||
8
mirrr
12.10.12
✎
12:20
|
есть дата отсчета (ввода в эксплуатацию) и есть дата списания. Как срок эксплуатации в днях привести к виду "2 года 3 мес. 4 дня"?
|
|||
9
DrShad
12.10.12
✎
12:20
|
(8) написать функцию
|
|||
10
Fragster
гуру
12.10.12
✎
12:20
|
500 рублей
|
|||
11
1Страх
12.10.12
✎
12:20
|
(8) запрос умеет
|
|||
12
1Страх
12.10.12
✎
12:20
|
100 рублей на телефон клади, напишу
|
|||
13
Живой Ископаемый
12.10.12
✎
12:21
|
Функция ПриводПериодаКВиду()
Возврат "2 года 3 мес. 4 дня"; КонецФункции |
|||
14
DrShad
12.10.12
✎
12:21
|
(11) да ладно!? пример в студию
|
|||
15
НЕА123
12.10.12
✎
12:21
|
'00020304'
|
|||
16
prog01
12.10.12
✎
12:21
|
||||
17
DexterMorgan
12.10.12
✎
12:21
|
РазностьДат()
|
|||
18
Живой Ископаемый
12.10.12
✎
12:21
|
Экспорт забыл
|
|||
19
DexterMorgan
12.10.12
✎
12:22
|
ДатаВремя(РазностьДат(ДатаНач, ДатаКон, ГОД), РазностьДат(ДатаНач, ДатаКон, Месяц), РазностьДат(ДатаНач, ДатаКон, День))
|
|||
20
Ursus maritimus
12.10.12
✎
12:22
|
(0) Зная, что в году всегда 12 месяцев и грамотно раскурив функцию ДобавитьМесяц(), ты не только выполнишь задачу, но и слегка прокачаешь скилл программиста.
|
|||
21
DexterMorgan
12.10.12
✎
12:22
|
З.Ы. не пробовал)))
|
|||
22
zak555
12.10.12
✎
12:22
|
баян v8: срок прописью
|
|||
23
DrShad
12.10.12
✎
12:22
|
(19) и что получишь на выходе?
|
|||
24
ZanderZ
12.10.12
✎
12:23
|
(0) пока на развели на бабло - открой типовой ЗУП и посмотри
|
|||
25
DexterMorgan
12.10.12
✎
12:23
|
(23) да это херь, сорри
|
|||
26
1Страх
12.10.12
✎
12:23
|
(14) см (19) плюс подшаманить слегка
|
|||
27
Кир Пластелинин
12.10.12
✎
12:23
|
что то новички в последнее время активизировались
|
|||
28
DrShad
12.10.12
✎
12:25
|
(26) подшамань - если сможешь я тебе 200 на телефон кину
|
|||
29
Mouzem
12.10.12
✎
12:26
|
(0)
ОбщегоНазначения.РазобратьРазностьДат(стр.ДатаОкончанияДоговора, Стр.ДатаНачалаРаботы, Лет, Месяцев, Дней); ПодписьЛет = ОбщегоНазначения.ФормаМножественногоЧисла("год","года","лет",Лет); ПодписьМесяцев = ОбщегоНазначения.ФормаМножественногоЧисла("месяц","месяца","месяцев",Месяцев); ПодписьДней = ОбщегоНазначения.ФормаМножественногоЧисла("день","дня","дней",Дней); Строка = ""; Если Лет > 0 тогда Строка = Строка(Лет) + " " + ПодписьЛет + " "; КонецЕсли; Если Месяцев > 0 тогда Строка = Строка + Строка(Месяцев) + " " + ПодписьМесяцев + " "; КонецЕсли; Если Дней > 0 тогда Строка = Строка + Строка(Дней) + " " + ПодписьДней; КонецЕсли; стр.СтрокаРазностьДат = Строка; |
|||
30
ZanderZ
12.10.12
✎
12:26
|
(28) а вдруг он шаман 60-го уровня :)
|
|||
31
1Страх
12.10.12
✎
12:26
|
(28) договорились
|
|||
32
ZanderZ
12.10.12
✎
12:27
|
(29) ему то как раз и нужна я думаю
"ОбщегоНазначения.РазобратьРазностьДат(стр.ДатаОкончанияДоговора, Стр.ДатаНачалаРаботы, Лет, Месяцев, Дней);" |
|||
33
zak555
12.10.12
✎
12:29
|
(32) что-то такого нет
|
|||
34
Mouzem
12.10.12
✎
12:30
|
(32) ОбщегоНазначения.РазобратьРазностьДат в таком виде как ему нужно.
в (29) кусок кода который в стр.СтрокаРазностьДат = Строка; вернет как раз то что ему нужно. |
|||
35
mirrr
12.10.12
✎
12:31
|
(29) из какой конфы пример?
|
|||
36
DrShad
12.10.12
✎
12:32
|
(31) но если не выйдет с тебя 200 на телефон, ок?
|
|||
37
Mouzem
12.10.12
✎
12:32
|
(35)
ЗУП. Но по моему эти процедуры и функции в типовых везде есть, могу ошибаться. |
|||
38
ИС-2
naïve
12.10.12
✎
12:37
|
// Возвращает представление времени
// Параметр в секундах // Функция ПредставлениеВремени(Знач ВремяСек, ПоказыватьСекунды=Истина) Экспорт Сек = ВремяСек % 60; ВремяСек = (ВремяСек - Сек)/60; Мин = ВремяСек % 60; ВремяСек = (ВремяСек - Мин)/60; Час = ВремяСек % 24; ВремяСек = (ВремяСек - Час)/24; Сут = ВремяСек; Рез = ""; Если Сут <> 0 Тогда Рез = ?(Рез="","",Рез+" ")+Сут+" сут"; КонецЕсли; Если Час <> 0 Тогда Рез = ?(Рез="","",Рез+" ")+Час+" ч"; КонецЕсли; Если Мин <> 0 Тогда Рез = ?(Рез="","",Рез+" ")+Мин+" мин"; КонецЕсли; Если Сек <> 0 И ПоказыватьСекунды Тогда Рез = ?(Рез="","",Рез+" ")+Сек+" сек"; КонецЕсли; Возврат Рез; КонецФункции // ПредставлениеВремени() |
|||
39
DrShad
12.10.12
✎
12:39
|
(38) это проще
|
|||
40
Живой Ископаемый
12.10.12
✎
12:39
|
2(38) как это поможет автору?
|
|||
41
DexterMorgan
12.10.12
✎
12:41
|
(36) А что то вроде:
ЛЕТ - РАЗНОСТЬДАТ(<Дата1>, <Дата2>, ГОД) Месяцев - РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(Дата1, ГОД ,РАЗНОСТЬДАТ(<Дата1>, <Дата2>, ГОД)) , Дата2, Месяц) Дней - РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(Дата1, МЕСЯЦ,РАЗНОСТЬДАТ(<Дата1>, <Дата2>, МЕСЯЦ)), Дата2, ДЕНЬ) ? |
|||
42
DrShad
12.10.12
✎
12:41
|
(40) а разве цель (38) помочь автору?
|
|||
43
DrShad
12.10.12
✎
12:42
|
(41) дальше с ними что делать? как в запросе слепить необходимую строку?
|
|||
44
DexterMorgan
12.10.12
✎
12:42
|
ДатаВРЕМЯ(Год, Месяц, День)
|
|||
45
DrShad
12.10.12
✎
12:42
|
(44) опять?
|
|||
46
DexterMorgan
12.10.12
✎
12:43
|
йопт
|
|||
47
DexterMorgan
12.10.12
✎
12:43
|
ладно, нах
|
|||
48
DexterMorgan
12.10.12
✎
12:43
|
))))
|
|||
49
1Страх
12.10.12
✎
12:45
|
(36) а я такого не говорил ))
|
|||
50
DexterMorgan
12.10.12
✎
12:45
|
не ну саму строку уже потом слепить, сами данные то можно получить
|
|||
51
HeroShima
12.10.12
✎
12:46
|
(0) нереально
|
|||
52
DrShad
12.10.12
✎
12:46
|
(49) т.е. ты уже сливаешься, что можно запросом?
|
|||
53
DrShad
12.10.12
✎
12:47
|
(50) как слепить? имхо только кодом в функции самописной или из типовой, но тогда для чего нагружать запрос этими тремя полями?
|
|||
54
ZanderZ
12.10.12
✎
12:47
|
(53) можно в запросе через выбор когда тогда слепить...
|
|||
55
Fragster
гуру
12.10.12
✎
12:48
|
ладно, дарю:
v8: v8: Туплю с разностью дат в запросе для годов допиливается делением на 12. количество дней, зная количество месяцев, определить автор, я думаю, сможет. только надо граничные условия с 28-31 числом проверить. |
|||
56
DrShad
12.10.12
✎
12:48
|
(54) и это будет оптимальней!? :)))
|
|||
57
DexterMorgan
12.10.12
✎
12:49
|
(53) у него эти две даты скорее всего запросом и выбираются. А слепить ну коодом понятно если не в запросе.
|
|||
58
ZanderZ
12.10.12
✎
12:49
|
(56) нет конечно просто что можно...
|
|||
59
DrShad
12.10.12
✎
12:50
|
(58) ну тогда можно вообще что угодно - работать с этим потом как?
|
|||
60
Fragster
гуру
12.10.12
✎
12:52
|
со всех по 100 рублей, допиливайте сами
|
|||
61
1Страх
12.10.12
✎
12:53
|
(52) не сливаю, я делаю
|
|||
62
ZanderZ
12.10.12
✎
12:55
|
(59) ему надо строку просто получить
|
|||
63
DrShad
12.10.12
✎
12:55
|
(61) ты только про сабж не забудь
|
|||
64
DrShad
12.10.12
✎
12:56
|
(62) да но какую строку... :)))
|
|||
65
1Страх
12.10.12
✎
14:20
|
итак тестируем (работает до 999 лет, но для 1с это и так много)
ВЫБРАТЬ РАЗНОСТЬДАТ(&Д1, &Д2, ГОД) КАК Годы, РАЗНОСТЬДАТ(&Д1, &Д2, МЕСЯЦ) КАК Месяцы ПОМЕСТИТЬ Т1 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Т1.Годы - ВЫБОР КОГДА ДОБАВИТЬКДАТЕ(&Д1, ГОД, Т1.Годы) > &Д2 ТОГДА 1 ИНАЧЕ 0 КОНЕЦ КАК Годы, Т1.Месяцы - ВЫБОР КОГДА ДОБАВИТЬКДАТЕ(&Д1, МЕСЯЦ, Т1.Месяцы) > &Д2 ТОГДА 1 ИНАЧЕ 0 КОНЕЦ КАК Месяцы ПОМЕСТИТЬ Т2 ИЗ Т1 КАК Т1 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Т2.Годы, Т2.Месяцы - Т2.Годы * 12 КАК Месяцы, РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(&Д1, МЕСЯЦ, Т2.Месяцы), &Д2, ДЕНЬ) КАК Дни ПОМЕСТИТЬ Числа ИЗ Т2 КАК Т2 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Числа.Годы, Числа.Месяцы, Числа.Дни, Числа.Годы - (ВЫРАЗИТЬ((Числа.Годы - 5) / 10 КАК ЧИСЛО(10, 0))) * 10 КАК ОстатокГоды10, Числа.Месяцы - (ВЫРАЗИТЬ((Числа.Месяцы - 5) / 10 КАК ЧИСЛО(10, 0))) * 10 КАК ОстатокМесяцы10, Числа.Дни - (ВЫРАЗИТЬ((Числа.Дни - 5) / 10 КАК ЧИСЛО(10, 0))) * 10 КАК ОстатокДни10, Числа.Годы - (ВЫРАЗИТЬ((Числа.Годы - 50) / 100 КАК ЧИСЛО(10, 0))) * 100 КАК ОстатокГоды100, Числа.Месяцы - (ВЫРАЗИТЬ((Числа.Месяцы - 50) / 100 КАК ЧИСЛО(10, 0))) * 100 КАК ОстатокМесяцы100, Числа.Дни - (ВЫРАЗИТЬ((Числа.Дни - 50) / 100 КАК ЧИСЛО(10, 0))) * 100 КАК ОстатокДни100 ПОМЕСТИТЬ ОстаткиЧисел ИЗ Числа КАК Числа ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ 0 КАК Цифра, "0" КАК Символ ПОМЕСТИТЬ Алфавит ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1, "1" ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2, "2" ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3, "3" ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4, "4" ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 5, "5" ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 6, "6" ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 7, "7" ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 8, "8" ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 9, "9" ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Алфавит.Цифра + 10 * Алфавит0.Цифра + 100 * Алфавит00.Цифра КАК ЭтоЧисло, ВЫБОР КОГДА Алфавит00.Цифра = 0 ТОГДА ВЫБОР КОГДА Алфавит0.Цифра = 0 ТОГДА Алфавит.Символ ИНАЧЕ Алфавит0.Символ + Алфавит.Символ КОНЕЦ ИНАЧЕ Алфавит00.Символ + Алфавит0.Символ + Алфавит.Символ КОНЕЦ КАК ЭтоСтрока ПОМЕСТИТЬ Слова ИЗ Алфавит КАК Алфавит, Алфавит КАК Алфавит00, Алфавит КАК Алфавит0 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СловаГоды.ЭтоСтрока + " " + ВЫБОР КОГДА ОстаткиЧисел.ОстатокГоды100 МЕЖДУ 11 И 19 ТОГДА "лет" КОГДА ОстаткиЧисел.ОстатокГоды10 = 0 ТОГДА "лет" КОГДА ОстаткиЧисел.ОстатокГоды10 > 4 ТОГДА "лет" КОГДА ОстаткиЧисел.ОстатокГоды10 = 1 ТОГДА "год" ИНАЧЕ "года" КОНЕЦ +" "+ СловаМесяцы.ЭтоСтрока + " " + ВЫБОР КОГДА ОстаткиЧисел.ОстатокМесяцы100 МЕЖДУ 11 И 19 ТОГДА "месяцев" КОГДА ОстаткиЧисел.ОстатокМесяцы10 = 0 ТОГДА "месяцев" КОГДА ОстаткиЧисел.ОстатокМесяцы10 > 4 ТОГДА "месяцев" КОГДА ОстаткиЧисел.ОстатокМесяцы10 = 1 ТОГДА "месяц" ИНАЧЕ "месяца" КОНЕЦ +" "+ СловаДни.ЭтоСтрока + " " + ВЫБОР КОГДА ОстаткиЧисел.ОстатокДни100 МЕЖДУ 11 И 19 ТОГДА "дней" КОГДА ОстаткиЧисел.ОстатокДни10 = 0 ТОГДА "дней" КОГДА ОстаткиЧисел.ОстатокДни10 > 4 ТОГДА "дней" КОГДА ОстаткиЧисел.ОстатокДни10 = 1 ТОГДА "день" ИНАЧЕ "дня" КОНЕЦ КАК Результат ИЗ ОстаткиЧисел КАК ОстаткиЧисел ВНУТРЕННЕЕ СОЕДИНЕНИЕ Слова КАК СловаГоды ПО ОстаткиЧисел.Годы = СловаГоды.ЭтоЧисло ВНУТРЕННЕЕ СОЕДИНЕНИЕ Слова КАК СловаМесяцы ПО ОстаткиЧисел.Месяцы = СловаМесяцы.ЭтоЧисло ВНУТРЕННЕЕ СОЕДИНЕНИЕ Слова КАК СловаДни ПО ОстаткиЧисел.Дни = СловаДни.ЭтоЧисло |
|||
66
DrShad
12.10.12
✎
14:25
|
и так по сабжу чуваку нужно [есть дата отсчета (ввода в эксплуатацию) и есть дата списания. Как срок эксплуатации в днях привести к виду "2 года 3 мес. 4 дня"?] следовательно для списка всех ОС, т.е. запрос из (65) в цикле!???
|
|||
67
DrShad
12.10.12
✎
14:26
|
(65) садись - двойка! с тебя 200 рублей
|
|||
68
1Страх
12.10.12
✎
14:31
|
(66) где это написано в цикле?
|
|||
69
1Страх
12.10.12
✎
14:31
|
(66) да и к таблице дат это легко прикручивается
|
|||
70
DrShad
12.10.12
✎
14:32
|
(68) а как его применить для списка ОС? в котором к тому же может и не быть даты списания?
|
|||
71
DrShad
12.10.12
✎
14:32
|
(69) прикручивай
|
|||
72
1Страх
12.10.12
✎
14:32
|
(67) да нет, просто тебя зажало 200 рублей отдавать
|
|||
73
DrShad
12.10.12
✎
14:33
|
(72) ты сказал что задача решается запросом - задача не решена, но написан костыль! за что тебе 200 рублей? за костыль?
|
|||
74
1Страх
12.10.12
✎
14:40
|
(73) задача была по двум датам получить строку, строка получена, за это 200 рублей, гони
|
|||
75
Живой Ископаемый
12.10.12
✎
14:41
|
с моей точки зрения задача решена. граничные условия озвучены не были... Это если вдруг кому интересно. :)
|
|||
76
1Страх
12.10.12
✎
14:41
|
ааа, чувак с херсонщины, рублей у него жеж нет))
|
|||
77
DrShad
12.10.12
✎
14:42
|
(74) читаем (8), (11)
кроме того задаю параметры в твой запрос Д1 = 01.01.2011 0:00:00 Д2 = 12.10.2012 23:59:59 результат - 1 год 9 месяцев 11 дней неправильно! |
|||
78
DrShad
12.10.12
✎
14:42
|
(76) есть рубли не переживай
|
|||
79
Живой Ископаемый
12.10.12
✎
14:43
|
вот это уже существенней.. :)
|
|||
80
Snorkler
12.10.12
✎
14:45
|
(77) IMHO уже можно начинать искать коллег, у которых стрельнуть 200 рублей дабы вернуть долг… :0)
|
|||
81
Живой Ископаемый
12.10.12
✎
14:47
|
кстати, по 100 рублей за судейство с каждого из двух.. :)
шутка. |
|||
82
1Страх
12.10.12
✎
14:49
|
(77) и что там про таблицы сказано?
а сколько должно быть? |
|||
83
DrShad
12.10.12
✎
14:49
|
(76) давай номер телефона
|
|||
84
DrShad
12.10.12
✎
14:49
|
(82) должно быть 12 дней, а не 11
|
|||
85
Snorkler
12.10.12
✎
14:50
|
(81) …и плюс 100 руб. за "правильное" судейство… :0)
|
|||
86
1Страх
12.10.12
✎
14:50
|
(84) неа, даже типовая ОбщегоНазначения.РазобратьРазностьДат дает 11 дней
|
|||
87
1Страх
12.10.12
✎
14:51
|
(83) стукнул в аську ))
|
|||
88
1Страх
12.10.12
✎
14:57
|
DrShad человек слова, 200 р на счете
это не первый мой заработок на мисте на запросах! |
|||
89
DrShad
12.10.12
✎
14:59
|
(88) а вот надо было только 100 кинуть за костыль :)))
|
|||
90
НЕА123
12.10.12
✎
16:37
|
РАЗНОСТЬДАТ =
Дата( Формат(День(Д1) - День(Д2),"ЧН=0; ЧГ=0") + "." + Формат(Месяц(Д1) - Месяц(Д2), "ЧН=0; ЧГ=0") + "." + Формат(Год(Д1) - Год(Д2), "ЧН=0; ЧГ=0") + " 00:00:00"); при Год(Д1) - Год(Д2)<=0 фигня получается. при разности месяцев или дней <= 0 все нормально, кажись. |
|||
91
1Страх
12.10.12
✎
16:40
|
(90) ерунда
|
|||
92
НЕА123
12.10.12
✎
16:40
|
(91)
почему? |
|||
93
НЕА123
12.10.12
✎
16:43
|
+(92)
для пятницы пойдет. |
|||
94
1Страх
12.10.12
✎
16:48
|
(92) потому что неверно
|
|||
95
vmv
12.10.12
✎
17:43
|
дарю, идея перта, я запилил
разность с Датой(1,1,1) даст представление сабжа для текущей // // Варианты вызова: // // Add_ComM_ОтчетыКС.ПолучитьРазностьДатСтрокой(ДатаН, ДатаК, Лет, Месяцев, Дней); // Функция ПолучитьРазностьДатСтрокой(ДатаН, ДатаК, Лет = 0, Месяцев = 0, Дней = 0) Экспорт Лет = 0; Месяцев = 0; Дней = 0; РассчитатьРазностьДат(ДатаН, ДатаК, Лет, Месяцев, Дней); Если НЕ (Лет+Месяцев+Дней) Тогда Возврат "Даты идентичны"; КонецЕсли; ЛетФмч = ФормаМножественногоЧислаДляДат("год" , "года" , "лет" , Лет ); МесяцевФмч = ФормаМножественногоЧислаДляДат("месяц", "месяца", "месяцев", Месяцев); ДнейФмч = ФормаМножественногоЧислаДляДат("день" , "дня" ,"дней" , Дней ); Возврат ?(Лет > 0, " " + Формат(Лет , "ЧГ=") + " " + ЛетФмч , "")+ ?(Месяцев > 0, " " + Формат(Месяцев, "ЧГ=") + " " + МесяцевФмч, "")+ ?(Дней > 0, " " + Формат(Дней , "ЧГ=") + " " + ДнейФмч , ""); КонецФункции // // Варианты вызова: // // Add_ComM_ОтчетыКС.РассчитатьРазностьДат(ДатаН, ДатаК, Лет, Месяцев, Дней); // Процедура РассчитатьРазностьДат(ДатаН, ДатаК, Лет = 0, Месяцев = 0, Дней = 0) Экспорт Лет = 0; Месяцев = 0; Дней = 0; Если ДатаК > ДатаН Тогда ВременнаяДата = ДатаК; Если День(ВременнаяДата) < День(ДатаН) Тогда Дней = (ВременнаяДата - ДобавитьМесяц(ВременнаяДата, -1)) / 86400; ВременнаяДата = ДобавитьМесяц(ВременнаяДата, -1); КонецЕсли; Если Месяц(ВременнаяДата) < Месяц(ДатаН) Тогда ВременнаяДата = ДобавитьМесяц(ВременнаяДата, -12); Месяцев = 12; КонецЕсли; Лет = Макс( Год (ВременнаяДата) - Год (ДатаН), 0); Месяцев = Макс(Месяцев + Месяц(ВременнаяДата) - Месяц(ДатаН), 0); Дней = Макс(Дней + День (ВременнаяДата) - День (ДатаН), 0); // Скорректируем отображаемое значение, если "вмешалось" разное количество дней в месяцах Если ДатаН <> (ДобавитьМесяц(ДатаК,-Лет * 12-Месяцев)-Дней * 86400) Тогда Дней = Дней + (День(КонецМесяца(ДатаН)) - День(НачалоМесяца(ДатаН))) - (День(КонецМесяца(ДобавитьМесяц(ДатаК, -1))) - День(НачалоМесяца(ДобавитьМесяц(ДатаК, -1)))); КонецЕсли; КонецЕсли; КонецПроцедуры // // Служебная(не экпортируемая) функция этого модуля // // Сформировать лексическое множественное число для дат // Функция ФормаМножественногоЧислаДляДат(Слово1, Слово2, Слово3, Знач ЦелоеЧисло) // Изменим знак целого числа, иначе отрицательные числа будут неправильно преобразовываться Если ЦелоеЧисло < 0 Тогда ЦелоеЧисло = -1 * ЦелоеЧисло; КонецЕсли; Если ЦелоеЧисло <> Цел(ЦелоеЧисло) Тогда // Для нецелых чисел - всегда вторая форма Возврат Слово2; КонецЕсли; // Остаток Остаток = ЦелоеЧисло%10; Если (ЦелоеЧисло >10) И (ЦелоеЧисло<20) Тогда // Для второго десятка - всегда третья форма Возврат Слово3; ИначеЕсли Остаток=1 Тогда Возврат Слово1; ИначеЕсли (Остаток>1) И (Остаток<5) Тогда Возврат Слово2; Иначе Возврат Слово3; КонецЕсли; КонецФункции |
|||
96
vah1
12.10.12
✎
17:53
|
(0) часы забыл + 4 часа и пиисят и семнацать сотых секунд
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |