|
v7: Скажите, а какой смысл в такой функции может быть? | ☑ | ||
---|---|---|---|---|
0
Скользящий
25.10.12
✎
10:25
|
Наткнулся в одном из отчетов.
Функция ПредыдущаяДата(ИсходнаяДата) ИсхДата_Число = ДатаЧисло(ИсходнаяДата); ИсхДата_Месяц = ДатаМесяц(ИсходнаяДата); ИсхДата_Год = ДатаГод(ИсходнаяДата); Если ИсхДата_Число = 1 Тогда Если ИсхДата_Месяц = 1 Тогда Результат = Дата(ИсхДата_Год-1, 12, 31); Иначе Результат = КонМесяца(Дата(ИсхДата_Год, ИсхДата_Месяц-1, ИсхДата_Число)); КонецЕсли Иначе Результат = Дата(ИсхДата_Год, ИсхДата_Месяц, ИсхДата_Число-1); КонецЕсли; Возврат Результат; КонецФункции |
|||
1
Mikeware
25.10.12
✎
10:26
|
Ошибка в ДНК
|
|||
2
mikecool
25.10.12
✎
10:27
|
работает - не трожь! (с)
|
|||
3
Жан Пердежон
25.10.12
✎
10:27
|
смысл: вычесть 1 день из даты
|
|||
4
Скользящий
25.10.12
✎
10:28
|
Ну, мне тоже кажется, что ошибка в ДНК, хотя остальной код вроде достаточно приличный.
|
|||
5
Преднаименование
25.10.12
✎
10:28
|
Скорее всего имелось ввиду ДОбавитьМесяц(ИсходнаяДата,-1)
|
|||
6
Starhan
25.10.12
✎
10:28
|
не помню как в 7.7. Но чел хотел сделать что то вроде
НчалоДня(НачалоДня(Дата)-1) просто не знал как реалзиовать. |
|||
7
povar
25.10.12
✎
10:28
|
(0) нормально, чел получает бабки в зависимости от количества строк кода )
|
|||
8
Рэйв
25.10.12
✎
10:29
|
Если первое число, то берет последний день предыдущего месяца
|
|||
9
Chai Nic
25.10.12
✎
10:29
|
Может автор просто не знал, что допустима арифметика сложения и вычитания между датой и числовым значением.
|
|||
10
Преднаименование
25.10.12
✎
10:29
|
В(5) ошибся, скорее всего как в (3)
|
|||
11
Рэйв
25.10.12
✎
10:29
|
хотя витиевато конечно:-)
|
|||
12
1Сергей
25.10.12
✎
10:29
|
Функция ПредыдущаяДата(ИсходнаяДата)
//ИсхДата_Число = ДатаЧисло(ИсходнаяДата); //ИсхДата_Месяц = ДатаМесяц(ИсходнаяДата); //ИсхДата_Год = ДатаГод(ИсходнаяДата); // //Если ИсхДата_Число = 1 Тогда // Если ИсхДата_Месяц = 1 Тогда // Результат = Дата(ИсхДата_Год-1, 12, 31); // Иначе // Результат = КонМесяца(Дата(ИсхДата_Год, ИсхДата_Месяц-1, ИсхДата_Число)); // КонецЕсли //Иначе // Результат = Дата(ИсхДата_Год, ИсхДата_Месяц, ИсхДата_Число-1); //КонецЕсли; // //Возврат Результат; Возврат ИсходнаяДата-1; КонецФункции |
|||
13
Chai Nic
25.10.12
✎
10:30
|
Скорее всего, у автора не было ЖКК, и он осваивал 1с методом тыка
|
|||
14
1Сергей
25.10.12
✎
10:31
|
(13) Скорее всего у автора частое заболевание - Восьмёрка головного мозга
|
|||
15
Скользящий
25.10.12
✎
10:31
|
Я наткнулся на эту функцию, сказал что то вроде вРотМнеНоги и выложил на мисту, может я чего то не понимаю в этом шедевре. ) По контексту отчета надо было получить предыдущую дату конца периода.
|
|||
16
Chai Nic
25.10.12
✎
10:32
|
(14) Вряд ли. Я прямо так себе и представил программиста, вынужденного писать на 1сv7 и лишенного документации.. вынужденного пользоваться синтакс-помощником. А в нём нет полного описания языка.
|
|||
17
Mikeware
25.10.12
✎
10:34
|
(16) СП обычно вполне хватает.
отладчик тоже никто не отменял. А ЖКК ненамного полнее СП. |
|||
18
akaBrr
25.10.12
✎
10:35
|
(0) Жесть, к чему все эти сложности?
|
|||
19
Chai Nic
25.10.12
✎
10:35
|
(17) Где в СП написано, что к дате можно прибавлять/вычитать число? :)
Да и в ЖКК есть многое, чего нет в СП. Во многих статьях СП так и написано "подробности в описании языка" |
|||
20
nv24
25.10.12
✎
10:36
|
(0) а где часы минуты и секунды?
|
|||
21
Chai Nic
25.10.12
✎
10:37
|
(20) Восьмерочник детектед )
|
|||
22
nv24
25.10.12
✎
10:38
|
(21) в 7ке тоже есть;)
|
|||
23
GLazNik
25.10.12
✎
10:38
|
(19) +1
Автор изобрел велосипед, ориентируясь на процедуры и функции имеющиеся в СП. |
|||
24
akaBrr
25.10.12
✎
10:38
|
(22) в дате?
|
|||
25
Ptmlk
25.10.12
✎
10:39
|
Кажется никто не обратил внимания, что иногда отнимается 1 день, а иногда - 1 месяц.
|
|||
26
akaBrr
25.10.12
✎
10:40
|
(25) а иногда год, вот только нафига?
|
|||
27
GLazNik
25.10.12
✎
10:41
|
(22) нету там. ни в составе даты ни отдельно
(25) все там норм... КонМесяца не пропустили случаем? |
|||
28
Starhan
25.10.12
✎
10:42
|
(25)(26) лол при вычетании месяца и год, конецмесяца и конецгода случае если это 1е счисло месяца и года вы и не заметили
|
|||
29
1Сергей
25.10.12
✎
10:42
|
(25) месяц декрементируется если число первое, всё как положено
|
|||
30
GLazNik
25.10.12
✎
10:42
|
(27) КонецГода там нет если чо :)
|
|||
31
nv24
25.10.12
✎
10:43
|
(27) а в регистре документы каким временем проводятся?
|
|||
32
GLazNik
25.10.12
✎
10:43
|
(30) к (28)
|
|||
33
Starhan
25.10.12
✎
10:44
|
(32) угу на автомате написал. Но там явно прописано 12 31
|
|||
34
Ptmlk
25.10.12
✎
10:44
|
(28) И правда, пропустил. Ну тогда и правда оплата за строки.
|
|||
35
1Сергей
25.10.12
✎
10:45
|
(31) в регистре документы проводятся позицией документа
|
|||
36
akaBrr
25.10.12
✎
10:45
|
(28) я все заметил, откуда такие выводы?
|
|||
37
GLazNik
25.10.12
✎
10:47
|
(27) это дело к типу "Дата" не имеет никакого отношения... и работой с датой... архитектурно оно хранится в виде строки...
|
|||
38
GLazNik
25.10.12
✎
10:50
|
(37) да шо я седня все мажу то... к (31) это все
|
|||
39
1Сергей
25.10.12
✎
10:52
|
Семёрошники изголодались по дятлам. Один появится, так сразу налетают как коршуны :)
|
|||
40
nv24
25.10.12
✎
10:52
|
(35) казалось бы причем здесь
ПолучитьВремя(<Часы>,<Минуты>,<Секунды>) |
|||
41
1Сергей
25.10.12
✎
10:54
|
(40) В регистре-то? Да, вообще не при чём
|
|||
42
nv24
25.10.12
✎
10:55
|
(41) я так не думаю
|
|||
43
Жан Пердежон
25.10.12
✎
10:56
|
(15) всё правильно: увидел индусский код - сразу выкладывай на мисту, его тут так не хватает;
а заодно и своё ЧСВ поднимешь. |
|||
44
1Сергей
25.10.12
✎
10:57
|
||||
45
1Сергей
25.10.12
✎
10:58
|
||||
46
GLazNik
25.10.12
✎
10:58
|
(40) И? Какое это отношение имеет к (0)? Как такого времени в клюшках нет. Можно получить текущее время (в виде строки и/или отдельно часах, минутах, секундах) и можно получить/установить время документа (опять таки отдельно в часах, минутах, секундах)
|
|||
47
Скользящий
25.10.12
✎
11:00
|
(43) Я не считаю себя крутым программером, более того, я им и не являюсь, но даже на мой взгляд среднего дятла это алмаз гамнокода. )
|
|||
48
Stagor
25.10.12
✎
11:00
|
(12) Все гораздо проще
ИсходнаяДата = ИсходнаяДата - 1; функция не нужна :) |
|||
49
1Сергей
25.10.12
✎
11:05
|
(47)>>Я не считаю себя крутым программером, более того, я им и не являюсь
Пафосно :) |
|||
50
Mikeware
25.10.12
✎
11:07
|
(47) а то ты никогда таких "алмазов" не высирал? :-)
Я вот недавно в гараже нашел пачку листингов студенческих времен. Там такой наивняк... Прикольно через 20 лет смотреть (хоть на сишный код, хоть на ассемблерные) |
|||
51
chief accountant
25.10.12
✎
11:12
|
(43) это что? продолжим тему Я даже не представляю как это назвать...
? |
|||
52
dmpl
25.10.12
✎
11:37
|
(0) Может такой код работает быстрее. В семерке такое бывало.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |