|
Как по дате определить что это конец месяца? | ☑ | ||
---|---|---|---|---|
0
idw
18.05.12
✎
10:07
|
Собственно такой вопрос. На в скидку, что приходит в голову сравнивать дату с 12-тью концами месяцев. Может существует более элегантное решение?
|
|||
1
Irek-kazan
18.05.12
✎
10:07
|
Если следущая дата первое число, то это посл.день месяца
|
|||
2
spu79
18.05.12
✎
10:07
|
производственный календарь уже отменили?
|
|||
3
DimVad
18.05.12
✎
10:08
|
Если КонецДня(МояДата) = КонецМесяца(МояДата) Тогда
|
|||
4
aleks-id
18.05.12
✎
10:08
|
этоконецмесяца = введеннаядата = конецмесяца(введеннаядата)
|
|||
5
aleks-id
18.05.12
✎
10:09
|
этоконецмесяца = конецдня(введеннаядата) = конецмесяца(введеннаядата);
|
|||
6
zak555
18.05.12
✎
10:09
|
Если Месяц(Дата + 1) > Месяц(Дата) Тогда
|
|||
7
Maxus43
18.05.12
✎
10:09
|
вы чо? КонецМесяца = КонецДня(дата) = КонецМесяца(Дата)
|
|||
8
idw
18.05.12
✎
10:13
|
(2) это УТ. Там нет календаря.
|
|||
9
PR
18.05.12
✎
10:14
|
Хватит позориться.
Правильный ответ в (3). |
|||
10
Fish
18.05.12
✎
10:16
|
(0) Жесть. Такие вопросы и Стаж: 5 г. 1 мес. :)
|
|||
11
Ненавижу 1С
гуру
18.05.12
✎
10:17
|
(0) да, не забудь учесть високосные годы для февраля )) ЛОЛ
|
|||
12
НЕА123
18.05.12
✎
10:18
|
а мне (7) нравится - красивше, без всяких Если.
|
|||
13
Reset
18.05.12
✎
10:19
|
(10) Неформализовано понятие в сабже "конец месяца".
Если "конец месяца" - это "последний день месяца", то правильный (первый правильный) в (3). Если конец месяца - это последняя секунда (т.е., в интерпретации системной функции КонецМесяца), то (4) - тоже правильный. :-P (12) +1 |
|||
14
mg-samara
18.05.12
✎
10:19
|
(10) Так это пятничная ветка такая.
|
|||
15
zak555
18.05.12
✎
10:20
|
(12) тогда лучше так :
Функция ЭтоКонецМесяца (Дата) Возврат КонецДня(дата) = КонецМесяца(Дата); КонецФункции |
|||
16
mg-samara
18.05.12
✎
10:23
|
Давайте конкурс откроем - кто интереснее и увлекательнее выполнить поставленную задачу. Использовать функции КонецМесяца и Месяц- нельзя!
|
|||
17
aleks-id
18.05.12
✎
10:23
|
(15) это не уменьшает твой косяк в (6) ;)
|
|||
18
Адинэснег
18.05.12
✎
10:25
|
||||
19
Reset
18.05.12
✎
10:25
|
(16) Паразитируя на (1):
ЭтоКонецМесяца=День(КонецДня(Дата)+1)=1 Или более загадочно ЭтоКонецМесяца=Не(День(КонецДня(Дата)-1) :) |
|||
20
alextom81
18.05.12
✎
10:25
|
ЭтоКонецМесяца=?(КонецДня(ТекущаяДата())+1 = НачалоМесяца(КонецДня(ТекущаяДата()+1)), Истина, Ложь);
|
|||
21
PR
18.05.12
✎
10:27
|
(12) За (7) убивать надо.
|
|||
22
hhhh
18.05.12
✎
10:27
|
(16) самое элегантное у ТС в (0) 12 сравнений с 12-ю концами месяцев.
|
|||
23
zak555
18.05.12
✎
10:28
|
(21) что там неверно ?
|
|||
24
Reset
18.05.12
✎
10:28
|
(19) Пропустил скобку ЭтоКонецМесяца=Не(День(КонецДня(Дата))-1)
|
|||
25
zak555
18.05.12
✎
10:28
|
(17) там я конец года только не учёл=)
|
|||
26
Maxus43
18.05.12
✎
10:29
|
(21) я жить хочу.
мКонецМесяца = КонецДня(дата) = КонецМесяца(Дата) |
|||
27
Reset
18.05.12
✎
10:29
|
PR злой сегодня :)
|
|||
28
Fish
18.05.12
✎
10:30
|
(16) Имхо, победит метод ТС:
Если дата = ПервыйКонец тогда ... ИначеЕсли дата = ВторойКонец тогда ... и т.д., и т.п. :)))) |
|||
29
hhhh
18.05.12
✎
10:31
|
(16) вот без месяцев
Если День(КонецДня(Дата)) > День(КонецДня(Дата) + 1) |
|||
30
mg-samara
18.05.12
✎
10:34
|
(28) Нужно стремиться к совершенству! Должен быть вариант еще лучше!
|
|||
31
Irek-kazan
18.05.12
✎
10:36
|
(28) так сложно т.к. високосные и т.п., лучше
Если дата+1= ПерваяДатаПервогоМесяца тогда ... ИначеЕсли дата+1 = ПерваяДатаВторогоМесяца тогда ... |
|||
32
PR
18.05.12
✎
10:38
|
(23) Для того, чтобы понять это выражение, нужно напрячь мозг.
Причем совершенно без нужды. Читабельность и простота кода очень важны. |
|||
33
Reset
18.05.12
✎
10:38
|
(31) Так читабельней:
Если дата = ПерваяДатаПервогоМесяца-1 тогда ... ИначеЕсли дата = ПерваяДатаВторогоМесяца-1 тогда ... |
|||
34
PR
18.05.12
✎
10:39
|
(27) Да ладно, я всегда такой :))
Суровый, но справедливый :)) |
|||
35
Maxus43
18.05.12
✎
10:39
|
(32) фу ты, я уж думал что ругаешся на использование переменной с именем предопределённой функции. не надо там ничо напрягать
|
|||
36
Ненавижу 1С
гуру
18.05.12
✎
10:41
|
//на конкурс:
НашГод = Год(НашаДата); ЭтоВисокосныйГод = (НашГод%4=0) и (НашГод%100<>0 или НашГод%400=0); Массив = Новый Массив(); Массив.Добавить(31); Массив.Добавить(28 + Число(ЭтоВисокосныйГод); Массив.Добавить(31); Массив.Добавить(30); Массив.Добавить(31); Массив.Добавить(30); Массив.Добавить(31); Массив.Добавить(31); Массив.Добавить(30); Массив.Добавить(31); Массив.Добавить(30); Массив.Добавить(31); С=0; Для й=1 по 12 Цикл Массив[й]=Массив[й]+С; С = Массив[й]; КонецЦикла; ЭтоКонецМесяца = Массив.Найти(ДеньГода(НашаДата))<>Неопределено; |
|||
37
PR
18.05.12
✎
10:42
|
(35) На это мне плевать.
Если из-за этого не будет работать код, то тебя суровая реальность ударит больно об стол лицом. А вот за нечитабельный код никто не ударит, а жаль :)) |
|||
38
НЕА123
18.05.12
✎
10:42
|
без Концов
мКонецМесяца = Месяц(Дата) <> Месяц(Дата+86400); |
|||
39
Reset
18.05.12
✎
10:42
|
(32) ИМХО, тот случай здесь, когда такая конструкция допустима. Разве переменную-результат назвать получше.
|
|||
40
aleks-id
18.05.12
✎
10:44
|
Если Найти(Строка(ВведеннаяДата),"31.01")>0 Тогда
ЭтоКонецМесяца=Истина; ИначеЕсли Найти(Строка(ВведеннаяДата),"28.02")>0 ИЛИ (Найти(Строка(ВведеннаяДата),"29.02")>0 И ГодВисокосный()) Тогда ЭтоКонецМесяца=Истина; ИначеЕсли Найти(Строка(ВведеннаяДата),"31.03")>0 Тогда ЭтоКонецМесяца=Истина; ИначеЕсли Найти(Строка(ВведеннаяДата),"30.04")>0 Тогда ЭтоКонецМесяца=Истина; ИначеЕсли Найти(Строка(ВведеннаяДата),"31.05")>0 Тогда ЭтоКонецМесяца=Истина; ИначеЕсли Найти(Строка(ВведеннаяДата),"30.06")>0 Тогда ЭтоКонецМесяца=Истина; ИначеЕсли Найти(Строка(ВведеннаяДата),"31.07")>0 Тогда ЭтоКонецМесяца=Истина; ИначеЕсли Найти(Строка(ВведеннаяДата),"31.08")>0 Тогда ЭтоКонецМесяца=Истина; ИначеЕсли Найти(Строка(ВведеннаяДата),"30.09")>0 Тогда ЭтоКонецМесяца=Истина; ИначеЕсли Найти(Строка(ВведеннаяДата),"31.10")>0 Тогда ЭтоКонецМесяца=Истина; ИначеЕсли Найти(Строка(ВведеннаяДата),"30.11")>0 Тогда ЭтоКонецМесяца=Истина; ИначеЕсли Найти(Строка(ВведеннаяДата),"31.12")>0 Тогда ЭтоКонецМесяца=Истина; Иначе ЭтоКонецМесяца=Ложь; КонецЕсли; |
|||
41
mg-samara
18.05.12
✎
10:45
|
(36) Какая интересная идея!
|
|||
42
PR
18.05.12
✎
10:45
|
(39) Не знаю ни одного случая когда стоит использовать выражение "а = б = в".
Всегда нужно писать "Если Тогда" или если нужно в одну строку, то "?()". |
|||
43
Ненавижу 1С
гуру
18.05.12
✎
10:46
|
красивше (7) оформить так:
НашКонецМесяца = (КонецДня(Дата)=КонецМесяца(Дата)); |
|||
44
mikecool
18.05.12
✎
10:47
|
(42) гоните, вы, батенька
|
|||
45
vinogradъ
18.05.12
✎
10:47
|
(0) На в скидку
Дальше не читал |
|||
46
НЕА123
18.05.12
✎
10:48
|
(43)
учитывая требование (42) НашКонецМесяца = НЕ (КонецДня(Дата)<>КонецМесяца(Дата)); |
|||
47
aleks-id
18.05.12
✎
10:48
|
>>Не знаю ни одного случая когда стоит использовать выражение "а = б = в".
ТекСтрока.Отметка = ТекСтрока.БанковскийСчет = Константы.ОсновнойБанковскийСчет; |
|||
48
PR
18.05.12
✎
10:48
|
(44) Гонят стадо на водопой, а я промышленные стандарты говорю.
|
|||
49
Ненавижу 1С
гуру
18.05.12
✎
10:48
|
(42) то есть ты считаешь, что вместо:
А = (Б=В); лучше писать так? А = ?(Б=В,Истина,Ложь); |
|||
50
Maxus43
18.05.12
✎
10:49
|
(42) в типовых же используется:
ЭтоВозврат = (СтруктураПараметров.РасчетыВозврат = Перечисления.РасчетыВозврат.Возврат); |
|||
51
Ненавижу 1С
гуру
18.05.12
✎
10:49
|
(48) "промышленные"? ну-ка, ну-ка - разверни тему
|
|||
52
Maxus43
18.05.12
✎
10:49
|
скобки да, надо чтоб по феншую
|
|||
53
PR
18.05.12
✎
10:49
|
(46) Вас рядом с (7) рядом поставят, у одной стенки :))
|
|||
54
mikecool
18.05.12
✎
10:50
|
(48) у каждой промышленности - свои стандарты
у кого то - табуляция = два пробела (49) +1 |
|||
55
aleks-id
18.05.12
✎
10:50
|
по конструкции А=Б=В легко отличить профессионального программиста от недокодера и копрокодера.
|
|||
56
PR
18.05.12
✎
10:50
|
(47) И чё?
|
|||
57
Maxus43
18.05.12
✎
10:50
|
(53) разрабов типовых тоже поставиш?
|
|||
58
aleks-id
18.05.12
✎
10:51
|
(56) если твое образование не позволяет познать глубину кода, тогда "и всё".
|
|||
59
mikecool
18.05.12
✎
10:52
|
(56) Роман, то что твои стандарты отличаются от возможностей языка - ничего не значит.
|
|||
60
aleks-id
18.05.12
✎
10:53
|
(56) напиши ка, как по твоему должен выглядеть код?
Если ТекСтрока.БанковскийСчет = Константы.ОсновнойБанковскийСчет Тогда ТекСтрока.Отметка = Истина Иначе ТекСтрока.Отметка = Ложь КонецЕсли; так??? вот за это к стенке надо ставить. |
|||
61
PR
18.05.12
✎
10:53
|
(49) Нет
Если Б = В Тогда А = Истина; Иначе А = Ложь; КонецЕсли; А ?() нужно использовать крайне редко, когда иначе не получится. Например текст запроса на 5 экранов и нужно в зависимости от какого-то условия вставить один или другой текст. |
|||
62
PR
18.05.12
✎
10:54
|
(50) Типовые тоже разные люди пишут, попадаются и среди них колхозники.
|
|||
63
aleks-id
18.05.12
✎
10:54
|
рукалицо.жпг
(*ушел из этой ветки*) |
|||
64
PR
18.05.12
✎
10:55
|
(51) Что тебе развернуть?
|
|||
65
Reset
18.05.12
✎
10:55
|
"а=(б=ц)" лучше чем "Если б=ц" тем, что инициализируется переменная, которую потом можно использовать.
Если результат выражения нужен один раз в условии, то, конечно, лучше вариант с Если. |
|||
66
Ненавижу 1С
гуру
18.05.12
✎
10:56
|
(61) мда... это что-то в духе такого:
Если Флажок=Истина Тогда ЭлементыФормы.ПолеВвода.Доступность = Ложь; Иначе ЭлементыФормы.ПолеВвода.Доступность = Истина; КонецЕсли; ты именно так предлагаешь писать? |
|||
67
Reset
18.05.12
✎
10:57
|
(61) Вот это как раз трудночитаемый код с бессмысленными операторами вместо одного ;(
|
|||
68
dmpl
18.05.12
✎
11:00
|
Вот если бы в 1С было нормальное различие знаков для операций сравнения и присваивания - то еще можно было бы о чем-то говорить. А так - a = b = c чисто логически - это сделать все 3 переменных равными друг другу. А то, что 1С с какого-то бодуна в одном случае сравнивает, а в другом присваивает не способствует логичности и не по фен-шую.
|
|||
69
Ненавижу 1С
гуру
18.05.12
✎
11:02
|
(68) если внимательно прочитать синтаксис языка, то таких вопросов не возникает
и не надо тут делать аллюзию на Си хотя конечно удобнее было бы, но бейсик же живет с этим |
|||
70
PR
18.05.12
✎
11:02
|
(60) Именно так.
|
|||
71
PR
18.05.12
✎
11:04
|
(66) Не путай теплое с мягким.
В этом случае правильнее ЭлементыФормы.ПолеВвода.Доступность = НЕ Флажок; Хотя если Флажок может быть не булевым, а например Неопределено, то да, верно именно с Если. |
|||
72
Ненавижу 1С
гуру
18.05.12
✎
11:06
|
(71) ун тогда не понимаю чего ты упираешься с А=Б=В;
проверка на равенство такой же логический оператор как и НЕ |
|||
73
pumbaEO
18.05.12
✎
11:06
|
Давайте еще вспомним про безграмотность и орфографические ошибки в типовых.
|
|||
74
PR
18.05.12
✎
11:06
|
(67) На языке 1С не стоит программировать как на C++.
Тут в миллион раз важнее читабельность, простота и надежность кода, нежели компактность и экономия ресурсов компьютера. |
|||
75
Maxus43
18.05.12
✎
11:08
|
(74) легче прочитать А=Б=В чем (61) для номральных людей, имхо
|
|||
76
PR
18.05.12
✎
11:08
|
(72) А я и не говорю, что это не сработает или это что-то совершенно другое.
Я говорю про то, что это менее читабельно и сложнее, чем вариант с Если. |
|||
77
PR
18.05.12
✎
11:09
|
(73) Ну не все в школе хорошо учились, да.
|
|||
78
dmpl
18.05.12
✎
11:10
|
(69) Вот из-за разницы в поведении в конкретном языке такая конструкция не по фен-шую.
(75) Это только пока ты программистом не станешь. |
|||
79
Maxus43
18.05.12
✎
11:10
|
(78) бгг
|
|||
80
Maxus43
18.05.12
✎
11:11
|
полфорума не программисты, только люди пишущие всегда Если Тогда достойны
|
|||
81
PR
18.05.12
✎
11:13
|
(75) Для номральных может быть.
А для нормальных думаю, что проще Если. Особенно если речь не про "А=Б=В", а про чуть более длинные выражение, например "ТекущиеДанные.Флажок=ОбщийМодуль.ПолучитьЧтоТоТам(ТекущиеДанные.Сумма, Истина)=ОпределитьКакойНитьТамПоказатель(Константы.МояКонстанта.Получить(), ТекущиеДанные.ДокументПланирования.Дата, ТекущаяДата())". |
|||
82
Maxus43
18.05.12
✎
11:14
|
(81) есно для коротуих выражений применять, читабельность не страдает
|
|||
83
dmpl
18.05.12
✎
11:14
|
(80) Ты точно не программист, иначе бы понял о чем речь. Ты просто кодер.
|
|||
84
badboychik
18.05.12
✎
11:14
|
(81) в приципе можно согласиться... одна функция на одной строке должна быть
|
|||
85
Reset
18.05.12
✎
11:15
|
(83) Фигню же несешь
|
|||
86
PR
18.05.12
✎
11:15
|
(82) А когда выражение бывает наращивается, то переписывать код?
|
|||
87
Maxus43
18.05.12
✎
11:16
|
(83) конечно, тока ты программист
|
|||
88
badboychik
18.05.12
✎
11:16
|
был бы еще нормальный оператор Switch...Case, было бы еще чуточку удобнее писать
|
|||
89
Reset
18.05.12
✎
11:16
|
(86) Разумеется. В каждый момент времени должен быть выбран оптимальный варинт.
|
|||
90
PR
18.05.12
✎
11:16
|
(84) одна функция на одной строке несет в себе в том числе чисто практическую ценность, так проще отлаживать.
|
|||
91
PR
18.05.12
✎
11:17
|
(85) Он тебе все правильно говорит.
|
|||
92
PR
18.05.12
✎
11:18
|
(89) Это называется самому себе создать сложности на ровном месте, а потом героически с ними бороться :))
|
|||
93
Reset
18.05.12
✎
11:20
|
По моему тема ушла в срач. Ухожу из ветки (с)
:) |
|||
94
dmpl
18.05.12
✎
11:21
|
(85)(87) Вы в курсе, что программист, хотя, как правило, и знает несколько языков программирования, но также он вообще может не знать ни одного языка программирования? ;) Язык программирования для него лишь инструмент реализации алгоритма. А потому он очень неохотно использует конструкции, имеющие в разных языках программирования разный смысл.
|
|||
95
Ненавижу 1С
гуру
18.05.12
✎
11:22
|
(94) некоторые даже с ума сходят от NULL
|
|||
96
aleks-id
18.05.12
✎
11:24
|
||||
97
pumbaEO
18.05.12
✎
11:25
|
- Почему, ты ненавидишь 1С?
- Она меня до психушки довела! :) |
|||
98
Maxus43
18.05.12
✎
11:31
|
(94) я в курсе, видел таких "программистов", в 1с даже на англицком пишут, вот тебе читаемость кода супер. Я использую в конкретном языке свои нюансы. Использую больше возможностей
|
|||
99
mg-samara
18.05.12
✎
12:12
|
А победитель в конкурсе - вариант(36)
Согласны? |
|||
100
Ненавижу 1С
гуру
18.05.12
✎
12:13
|
100
|
|||
101
Maxus43
18.05.12
✎
12:18
|
(99) варианта с Запросом не было ещё)
|
|||
102
mg-samara
18.05.12
✎
12:20
|
(101) Да, ты прав!
Ждем вариантов с запросом! |
|||
103
Maxus43
18.05.12
✎
12:24
|
ВЫБРАТЬ
ВЫБОР КОГДА КОНЕЦПЕРИОДА(&Дата, ДЕНЬ) = КОНЕЦПЕРИОДА(&Дата, МЕСЯЦ) ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ КАК результат |
|||
104
mg-samara
18.05.12
✎
12:26
|
(103) Ну это как-то уже банально...
Хочется чего-то извращенного! :-) |
|||
105
Maxus43
18.05.12
✎
12:43
|
ВЫБРАТЬ
&ДатаНач КАК УстановленныйДень, МАКСИМУМ(ДОБАВИТЬКДАТЕ(&ДатаНач, ДЕНЬ, Цифры4.Цифра * 1000 + Цифры3.Цифра * 100 + Цифры2.Цифра * 10 + Цифры1.Цифра * 1)) КАК ПоследнийДень, МЕСЯЦ(ДОБАВИТЬКДАТЕ(&ДатаНач, ДЕНЬ, Цифры4.Цифра * 1000 + Цифры3.Цифра * 100 + Цифры2.Цифра * 10 + Цифры1.Цифра * 1)) КАК Месяц ИЗ (ВЫБРАТЬ 0 КАК Цифра ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 9) КАК Цифры1 ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ 0 КАК Цифра ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 9) КАК Цифры2 ПО (Цифры2.Цифра * 10 + Цифры1.Цифра * 1 <= РАЗНОСТЬДАТ(&ДатаНач, КОНЕЦПЕРИОДА(&ДатаНач, МЕСЯЦ), ДЕНЬ)) ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ 0 КАК Цифра ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 9) КАК Цифры3 ПО (Цифры3.Цифра * 100 + Цифры2.Цифра * 10 + Цифры1.Цифра * 1 <= РАЗНОСТЬДАТ(&ДатаНач, КОНЕЦПЕРИОДА(&ДатаНач, МЕСЯЦ), ДЕНЬ)) ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ 0 КАК Цифра ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 9) КАК Цифры4 ПО (Цифры4.Цифра * 1000 + Цифры3.Цифра * 100 + Цифры2.Цифра * 10 + Цифры1.Цифра * 1 <= РАЗНОСТЬДАТ(&ДатаНач, КОНЕЦПЕРИОДА(&ДатаНач, МЕСЯЦ), ДЕНЬ)) СГРУППИРОВАТЬ ПО МЕСЯЦ(ДОБАВИТЬКДАТЕ(&ДатаНач, ДЕНЬ, Цифры4.Цифра * 1000 + Цифры3.Цифра * 100 + Цифры2.Цифра * 10 + Цифры1.Цифра * 1)) УПОРЯДОЧИТЬ ПО ПоследнийДень |
|||
106
dmpl
18.05.12
✎
12:47
|
(99) Там скобочки не хватает как минимум.
|
|||
107
Maxus43
18.05.12
✎
12:52
|
(105) поле месяц можно убрать конечно и т.д.
|
|||
108
Reset
18.05.12
✎
13:28
|
(102) Если конкурс еще закончен, примите перл:
Попытка ВременнаяПеременная=Дата(Год(ИсхДата),Месяц(ИсхДата),День(ИсхДата)+1); ЭтоКонецМесяца=Ложь; Исключение ЭтоКонецМесяца=Истина; КонецПопытки |
|||
109
Reset
18.05.12
✎
13:29
|
еще *НЕ закончен ;)
|
|||
110
Jaffar
18.05.12
✎
13:47
|
(11) "не забудь учесть високосные годы для февраля"
мне вчера прислали письмо, в котором сообщили об акции, действующей до 29/02/2013... |
|||
111
Sh18
18.05.12
✎
13:53
|
(108) - Reset, это шедевр! :)
|
|||
112
mg-samara
23.05.12
✎
14:14
|
(108) - Здорово!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |