Имя: Пароль:
1C
1С v8
Как по дате определить что это конец месяца?
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) - Здорово!