Функция для вычисления разницы между двумя датами

20.03.13

Разработка - Универсальные функции

Функция РазностьДат

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
РазностьДат.epf
.epf 7,94Kb
33 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Простая функция для вычисления разности между датами в любых единицах.

От типовой отличается тем, что реализована функцией языка запросов РАЗНОСТЬДАТ.

В приложении - обработка, демонстрирующая работу функции.

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Загрузка и выгрузка в Excel Универсальные функции Программист 1С:Предприятие 8 Россия Бесплатно (free)

Описанный ниже подход позволяет в три шага заполнять формулы в Excel файлы, вне зависимости от ОС сервера (MS Windows Server или Linux). Подход подразумевает отказ от работы с COM-объектом в пользу работы через "объектную модель документа" (DOM).

30.10.2025    5484    Abysswalker    11    

47

Универсальные функции Работа с интерфейсом Программист 1С:Предприятие 8 Бесплатно (free)

Порой необходимо временно отключить расширение 1С, не удаляя его, чтобы не потерять данные. Но в этом случае при каждом запуске всем будет лезть уведомление о неактивном расширении, хотя очевидно, это техническая информация, которой не стоит лишний раз пугать пользователей.

14.05.2025    10121    DeerCven    15    

64

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Благодаря этим пяти строчкам можно больше не заморачиваться с загрузкой из внешних файлов. Пользуюсь везде, всегда и постоянно.

21.05.2024    61430    dimanich70    86    

176

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    8426    7    John_d    13    

59

Универсальные функции Программист Стажер 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    77228    atdonya    31    

74

Универсальные функции Программист 1С:Предприятие 8 Бесплатно (free)

На заключительных этапах, когда идет отладка или доработка интерфейса, необходимо много раз переоткрыть внешний объект. Вот один из способов автоматизации этого.

30.11.2023    10654    ke.92@mail.ru    18    

68
Вознаграждение за ответ
Показать полностью
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Tahallus 441 20.03.13 17:16 Сейчас в теме
Я вижу Вы открыли для себя РАЗНОСТЬДАТ
4. yuraos 1008 20.03.13 18:32 Сейчас в теме
Как много нам (1) открытий чудных,
готовит мануала дух!
И опыт - сын багов (ударение на первый слог) трудных,
И гений - алгоритмов друг!

---
ааасторожно надо мануал 1с-ный публиковать.

сначала надо группой поддержки заручиться...
...которая восторженно ох-ахает и
плусует-плусует-плусует!!!
:)
5. yuraos 1008 20.03.13 18:42 Сейчас в теме
(1)
похоже разработчики платформы,
которые лепили встроенные функции и те
которые реализовывали функционал запросов
друг о друге ничего не знали.
---
иначе бы, наверное, была встроенная функция РАЗНОСТЬДАТ()
и не было бы повода для такой статьи
:)
37. AlexO 136 21.03.13 12:55 Сейчас в теме
(1)(24) andrewks,
точно, а то потом знания будут утеряны :)
2. AnryMc 851 20.03.13 17:32 Сейчас в теме
Долго думал. Ставить или нет "-". У человека всего 3 звездочки (уже 2). И решил, что будет - 1.
3. straus 20.03.13 18:28 Сейчас в теме
http://govnokod.ru/12749
не ожидал на инфостате
6. yuraos 1008 20.03.13 18:48 Сейчас в теме
Tahallus,
к стати поздравляю!
Инфостарт рассылает спам что ты автор этой публикации
:)
Смотри скриншот.
Прикрепленные файлы:
7. AnryMc 851 20.03.13 18:51 Сейчас в теме
(6) yuraos, Точно. И мне тоже ;-)))
8. andrewks 1383 20.03.13 18:56 Сейчас в теме
(6) yuraos, в письмах, которые приходят мне, с некоторых пор не только автор, но и название не отображается.

Тема: "Инфостарт - Новый комментарий"
и так - для любой ветки
9. yuraos 1008 20.03.13 19:10 Сейчас в теме
(8) andrewks,

Любопытно скрипты работают на Инфорстарте...
А ты через какой браузер ходишь по Инфостарту ???

Я через Оперу и его почтовый клиент юзаю.
10. andrewks 1383 20.03.13 19:17 Сейчас в теме
(9) yuraos, у меня The Bat!. но это, собственно, не важно, ибо в исходнике письма Subject приходит именно такой, проверял.
раньше было нормально, слетело после падения/переезда на новый сервер
11. yuraos 1008 20.03.13 19:39 Сейчас в теме
(10) andrewks,
в самом деле от браузера (и тем более от клиента)
вроде не должна рассылка зависеть...


слетело после падения/переезда на новый сервер


имеешь ввиду, когда Инфостарт начал глючить не по децки,
а потом совсем накрылся медным тазом
и после чего они развернули бэкап (уж не знаю на каком серваке - новом или старом) ???
14. AnryMc 851 20.03.13 21:30 Сейчас в теме
(6) yuraos, Самое интересное, что из одних веток письма приходят правильно...
12. WKBAPKA 216 20.03.13 21:10 Сейчас в теме
ну для кого то это и открытие... хотя 1С могла бы сделать функцию, как бэ не сложно
13. WKBAPKA 216 20.03.13 21:14 Сейчас в теме
куку .. РАЗНОСТЬДАТ реализовано в запросах, а чел выложил расчет разницы в датах не в запросе (обработку не качал, так что предполагаю)... в языке 8-ки это, как в 7.7. не реализовано, так что зря вы нападаете на начинающего программиста... т.к. я вредный, поставлю плюс, поддержу молодежь!
15. AnryMc 851 20.03.13 21:32 Сейчас в теме
(13) WKBAPKA,
Да ещё в разных единицах измерения.
Ты меня почти убедил. Нетрализую свой "-".
16. smaharbA 20.03.13 21:34 Сейчас в теме
(13) не поверите - в 77 реализовано в одно действие
17. AnryMc 851 20.03.13 21:53 Сейчас в теме
19. andrewks 1383 20.03.13 22:19 Сейчас в теме
(16) как насчёт секунд/минут/часов?
18. andrewks 1383 20.03.13 22:18 Сейчас в теме
(13) WKBAPKA, реализуется в одну строку: (Макс(Дата1,Дата2)-Мин(Дата1,Дата2))/СекундВЕдинице

я понимаю, что РАЗНОСТЬДАТ в запросе - это круто и гламурно, но дёргать из-за этих мелочей сервер явно чрезмерно. а если уж эта функция окажется в цикле с кол-вом итераций, например, 10000, так и вообще вредно
21. yuraos 1008 20.03.13 22:20 Сейчас в теме
(13) WKBAPKA,
вот вам моя реализация в составе подсистемы ViewValues
и совершенно бесплатно:



// возвращает дату смещенную на указанное число интервалов указанного типа
Функция ДобавитьКДате(Знач ИсхДата, ТипИнтервала, Знач ЧислоИнтервалов) Экспорт
	Если ТипЗнч(ИсхДата) <> Тип("Дата") Тогда
		ИсхДата = '0001-01-01';
	КонецЕсли; 
	Если ТипЗнч(ЧислоИнтервалов) <> Тип("Число") Тогда
		ЧислоИнтервалов = 0;
	КонецЕсли;
	
	ТекстЗапроса = "ВЫБРАТЬ
	|	ДОБАВИТЬКДАТЕ(&ИсхДата, !ТипИнтервала!, &ЧислоИнтервалов) КАК СмещДата"; // !ТипИнтервала! 
	
	Если Нрег(ТипИнтервала) = НРег("СЕКУНДА") ИЛИ Нрег(ТипИнтервала) = НРег("СЕК") Тогда
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "!ТипИнтервала!", "СЕКУНДА");
	ИначеЕсли Нрег(ТипИнтервала) = НРег("МИНУТА") ИЛИ Нрег(ТипИнтервала) = НРег("МИН") Тогда
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "!ТипИнтервала!", "МИНУТА");
	ИначеЕсли Нрег(ТипИнтервала) = НРег("ЧАС") Тогда
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "!ТипИнтервала!", "ЧАС");
	ИначеЕсли Нрег(ТипИнтервала) = НРег("ДЕНЬ") ИЛИ Нрег(ТипИнтервала) = НРег("ДНИ") Тогда
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "!ТипИнтервала!", "ДЕНЬ");
	ИначеЕсли Нрег(ТипИнтервала) = НРег("НЕДЕЛЯ") ИЛИ Нрег(ТипИнтервала) = НРег("НЕД") Тогда
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "!ТипИнтервала!", "НЕДЕЛЯ");
	ИначеЕсли Нрег(ТипИнтервала) = НРег("ДЕКАДА") ИЛИ Нрег(ТипИнтервала) = НРег("ДЕК") Тогда
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "!ТипИнтервала!", "ДЕКАДА");
	ИначеЕсли Нрег(ТипИнтервала) = НРег("МЕСЯЦ") ИЛИ Нрег(ТипИнтервала) = НРег("МЕС") Тогда
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "!ТипИнтервала!", "МЕСЯЦ");
	ИначеЕсли Нрег(ТипИнтервала) = НРег("КВАРТАЛ") ИЛИ Нрег(ТипИнтервала) = НРег("КВ") Тогда
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "!ТипИнтервала!", "КВАРТАЛ");
	ИначеЕсли Нрег(ТипИнтервала) = НРег("ПОЛУГОДИЕ") ИЛИ Нрег(ТипИнтервала) = НРег("ПОЛГОДА") Тогда
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "!ТипИнтервала!", "ПОЛУГОДИЕ");
	ИначеЕсли Нрег(ТипИнтервала) = НРег("ГОД") Тогда
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "!ТипИнтервала!", "ГОД");
	Иначе
		ВызватьИсключение(
		"Непредусмотренный тип интервала '"+ТипИнтервала+"' для добавления к дате !");
		Возврат Null;
	КонецЕсли; 
	
	Запрос = Новый Запрос(ТекстЗапроса);
	Запрос.УстановитьПараметр("ИсхДата", ИсхДата);
	Запрос.УстановитьПараметр("ЧислоИнтервалов", ЧислоИнтервалов);
	
	тзРезультат = Запрос.Выполнить().Выгрузить();
	
	Возврат тзРезультат[0][0];
КонецФункции

// возвращает разницу между переданными датами в интервалах указанного типа
Функция РазностьДат(Знач ИсхДатаНач, Знач ИсхДатаКон, ТипИнтервала) Экспорт	
	Если ТипЗнч(ИсхДатаНач) <> Тип("Дата") Тогда
		ИсхДатаНач = '0001-01-01';
	КонецЕсли; 
	Если ТипЗнч(ИсхДатаКон) <> Тип("Дата") Тогда
		ИсхДатаКон = '0001-01-01';
	КонецЕсли; 
	
	ТекстЗапроса = "ВЫБРАТЬ
	|	РАЗНОСТЬДАТ(&ИсхДатаНач, &ИсхДатаКон, !ТипИнтервала!) КАК ЧислоИнтервалов"; // !ТипИнтервала! 
	
	Если Нрег(ТипИнтервала) = НРег("СЕКУНДА") ИЛИ Нрег(ТипИнтервала) = НРег("СЕК") Тогда
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "!ТипИнтервала!", "СЕКУНДА");
	ИначеЕсли Нрег(ТипИнтервала) = НРег("МИНУТА") ИЛИ Нрег(ТипИнтервала) = НРег("МИН") Тогда
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "!ТипИнтервала!", "МИНУТА");
	ИначеЕсли Нрег(ТипИнтервала) = НРег("ЧАС") Тогда
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "!ТипИнтервала!", "ЧАС");
	ИначеЕсли Нрег(ТипИнтервала) = НРег("ДЕНЬ") ИЛИ Нрег(ТипИнтервала) = НРег("ДНИ") Тогда
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "!ТипИнтервала!", "ДЕНЬ");
	ИначеЕсли Нрег(ТипИнтервала) = НРег("МЕСЯЦ") ИЛИ Нрег(ТипИнтервала) = НРег("МЕС") Тогда
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "!ТипИнтервала!", "МЕСЯЦ");
	ИначеЕсли Нрег(ТипИнтервала) = НРег("КВАРТАЛ") ИЛИ Нрег(ТипИнтервала) = НРег("КВ") Тогда
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "!ТипИнтервала!", "КВАРТАЛ");
	ИначеЕсли Нрег(ТипИнтервала) = НРег("ГОД") Тогда
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "!ТипИнтервала!", "ГОД");
	Иначе
		ВызватьИсключение(
		"Непредусмотренный тип интервала '"+ТипИнтервала+"' для вычисления разницы дат !");
		Возврат Null;
	КонецЕсли; 
	
	Запрос = Новый Запрос(ТекстЗапроса);
	Запрос.УстановитьПараметр("ИсхДатаНач", ИсхДатаНач);
	Запрос.УстановитьПараметр("ИсхДатаКон", ИсхДатаКон);
	
	тзРезультат = Запрос.Выполнить().Выгрузить();
	
	Возврат тзРезультат[0][0];
КонецФункции



Показать


;)
22. yuraos 1008 20.03.13 22:25 Сейчас в теме
(21)(18) andrewks,
Хотя говорят в платформе 8.2.17 добавили функцию,
позволяющую время в миллисекундах отмерять...
мож они и эти функции наконец добавили ???
а то стремно и позорно как-то...сервер напрягать для посчета смещенной даты.
26. andrewks 1383 20.03.13 22:41 Сейчас в теме
(22) yuraos, а смысл добавлять? лично я не вижу. если хронометр с миллисекундами может быть очень полезен, то тут всё реализуется примитивными арифметическими операциями
27. smaharbA 21.03.13 00:30 Сейчас в теме
(26) ну положим в толстом миллисекунды реализуются штатно
28. andrewks 1383 21.03.13 08:09 Сейчас в теме
29. smaharbA 21.03.13 10:43 Сейчас в теме
(27) для толстого
Перем Скрыпт;
Процедура ДокументСформирован(Поле)
	Скрыпт=Поле.Документ.Script;
КонецПроцедуры

Процедура КнопкаВыполнитьНажатие(Кнопка)
	Пока Истина Цикл
		Попытка
			Скрыпт.ДатаМиллисекондов();
			Прервать;
		Исключение
		КонецПопытки;
	КонецЦикла;
	Сообщить(Скрыпт.ДатаМиллисекондов(0));
	Предупреждение(1,10);
	Сообщить(Скрыпт.ДатаМиллисекондов(0));
КонецПроцедуры

Процедура ПриОткрытии()
	ПолеHTMLДокумента=ЭлементыФормы.Найти("ПолеHTMLДокумента");
	Если ПолеHTMLДокумента=Неопределено Тогда
		ПолеHTMLДокумента=ЭлементыФормы.Добавить(Тип("ПолеHTMLДокумента"),"ПолеHTMLДокумента");
	КонецЕсли;
	ПолеHTMLДокумента.УстановитьТекст("<script type='text/javascript'>ДатаМиллисекондов=function(){return (new Date().getTime())}</script>");
	ПолеHTMLДокумента.УстановитьДействие("ДокументСформирован",Новый Действие("ДокументСформирован"));
КонецПроцедуры
Показать
30. AnryMc 851 21.03.13 11:07 Сейчас в теме
(29) smaharbA,

Вызвало некоторый ступор
Перем Скрыпт
- это от какого корня?
31. andrewks 1383 21.03.13 11:44 Сейчас в теме
(29) smaharbA, что-то мне кажется, что при вызове браузера со скриптом миллисекунды уже не будут интересны ))
32. andrewks 1383 21.03.13 11:45 Сейчас в теме
(29) smaharbA, интересно а в 8.3 под линукс будет это работать? надо будет опробовать
33. AnryMc 851 21.03.13 11:50 Сейчас в теме
(29) smaharbA,

ну положим в толстом миллисекунды реализуются штатно
- это что? Штатно?
34. andrewks 1383 21.03.13 12:21 Сейчас в теме
(33) AnryMc, формально - штатно. а то, что там прячется вражий браузер - это за кадром :)
35. AlexO 136 21.03.13 12:32 Сейчас в теме
(29) smaharbA,
и где тут штатная реализация средствами 1С?
(22) yuraos,
да, это ТекущаяУниверсальнаяДатаВМиллисекундах
44. yuraos 1008 21.03.13 17:00 Сейчас в теме
(35) AlexO,
ммммм...это комментарий от соседней функции залез в буфер
:)

а примерная реализация как в этом посте (39)
39. yuraos 1008 21.03.13 16:24 Сейчас в теме
(29) smaharbA,
а во эта и для ТОЛСТОГО и для НЕ-ТОЛСТОГО...
лишь бы Винда была, да ОДМИНЫ с правами чей-нибудь не нарулили
;)
// Функция, возвращающая время в миллисекундах или секундах.
//
&НаКлиентеНаСервереБезКонтекста
Функция ВремяВМиллисекундах()
    Попытка
        Script = Новый COMОбъект("MSScriptControl.ScriptControl");
        Script.Language = "javascript";
        Script.Timeout   = -1;
        Время = Script.Eval("var d = new Date(); d.getTime()");
    Исключение
        Время = ТекущаяДата();
    КонецПопытки;
    
    Возврат Время;
КонецФункции

// Пример.
//
Процедура ПримерИспользования()

   Начало = ВремяВМиллисекундах();
   КоличествоСтрок = 0;
   Для Каждого Элемент ИЗ Массив Цикл
         КоличествоСтрок = КоличествоСтрок  + 1;
         ...
   КонецЦикла;
   Конец  = ВремяВМиллисекундах();

   ВремяВыполнения = (Конец - Начало) / 1000;

   РезультСтрока = НСтр("ru = 'Результат процесса (количество строк = %КоличествоСтрок%, время выполнения = %ВремяВыполнения% с)'");
   РезультСтрока = СтрЗаменить(РезультСтрока, "%КоличествоСтрок%", Строка(КоличествоСтрок));
   РезультСтрока = СтрЗаменить(РезультСтрока, "%ВремяВыполнения%", Строка(ВремяВыполнения));

КонецПроцедуры

Показать


Любезно предоставил уважаемый StepByStep
в своей публикации
40. yuraos 1008 21.03.13 16:27 Сейчас в теме
(39)
к стати о птичках...

через COMОбъект("MSScriptControl.ScriptControl")
можно все остальные функции для работы с датами реализовать

без 1С-ного запроса и следовательно не напрягая сервер.

Там в скрипте используется класс с понятным назначением.
48. andrewks 1383 22.03.13 08:21 Сейчас в теме
(40) yuraos, в то время, когда космические корабли бороздят просторы Вселенной грядёт стабильная 8.3, нужно использовать более универсальные механизмы, которые будут работать и на Win и на Lin.
поэтому я считаю, что +-*/ - наше всё. если лень вспоминать, сколько секунд в часе - можно накатать пару-тройку функций, чтобы потом их использовать
50. yuraos 1008 22.03.13 19:26 Сейчас в теме
(48) andrewks,
стабильная 1С-ка говоришь???
вот щастье то какое!!!
...
но боюсь я до этого не доживу.
;)))
53. andrewks 1383 22.03.13 22:53 Сейчас в теме
(50) yuraos, будущее уже близко ))
Прикрепленные файлы:
54. AlexO 136 23.03.13 00:18 Сейчас в теме
(53) andrewks,
грядёт стабильная 8.3,

будущее уже близко ))

вашими планами - да мед пить 1с разрабатывать :))
55. yuraos 1008 23.03.13 08:32 Сейчас в теме
(54) AlexO,
интересно есть ли у кого статистика
по среднему количеству количеству выявленных багов допустим
за месяц или за год эксплуатации
по всем платформам для сравнения
8.0
8.1
8.2
ну и для новоявленного чуда-юда
8.3

???
56. andrewks 1383 23.03.13 11:57 Сейчас в теме
(54) AlexO, планы не мои :) я только разместил объяву ©
52. yuraos 1008 22.03.13 19:29 Сейчас в теме
(48) andrewks,
а насчет универсальности,
пожалуй,
с тобой соглашусь.
43. yuraos 1008 21.03.13 16:56 Сейчас в теме
(26) andrewks,
возможно ты прав...
... хоть и не всегда действия элементарны.

Например год когда 365 дней, когда 366.
может где-нибудь аукнуться при вычислении разницы в годах.

но ведь в других средах программирования
делают зачем-то встроенные аналоги функций вроде
РазностьДат() и ДобавитьКДате()

и в языке запросов их 1С тоже сделала.


Если на небе зажигаются звезды, значит это кому-то надо...
20. andrewks 1383 20.03.13 22:19 Сейчас в теме
я не вредный, плюс ставить не буду, минус тоже
23. WKBAPKA 216 20.03.13 22:29 Сейчас в теме
какой кошмар? а мне то зачем?
24. andrewks 1383 20.03.13 22:38 Сейчас в теме
(23) WKBAPKA, берите, пока дают ))
25. yuraos 1008 20.03.13 22:39 Сейчас в теме
(23) WKBAPKA,
да так ... за компанию.
извини если что.
36. AlexO 136 21.03.13 12:33 Сейчас в теме
(0) автор, форма сделана красиво, но какой смысл заложен запросом складывать\вычитать даты?
Показать пример использования РАЗНОСТЬДАТ?
38. AlexO 136 21.03.13 13:04 Сейчас в теме
Нет, ну согласитесь - форма-то красива, как в 7.7 практически :)
41. PiccaHut001 21.03.13 16:53 Сейчас в теме
шедевральная вещь.
42. PiccaHut001 21.03.13 16:53 Сейчас в теме
Давно мечтал о таком, теперь буду даты складывать.Автору респект.
45. yuraos 1008 21.03.13 17:07 Сейчас в теме
ГОСПОДА!

А КУДА ПОДЕВАЛСЯ АВТОР СТАТЬИ (уважаемый vsuh) ???

Хоть бы один пост оставил.
:)

В личку что ли писать благодарности
за приятное общение на этой ветке ???
46. AlexO 136 22.03.13 00:03 Сейчас в теме
(45) yuraos,
Ушел писать обработки по ДОБАВИТЬКДАТЕ, найти запросом МАКСИМУМ и МИНИМУМ :)
47. Поручик 4612 22.03.13 07:29 Сейчас в теме
(45) Автор пошёл дальше читать Габеца и Гончарова - Простые примеры разработки.
49. Степанова Н. 22.03.13 17:08 Сейчас в теме
Для чего это вообще нужно
51. yuraos 1008 22.03.13 19:27 Сейчас в теме
(49) Степанова Н.,
да так, особо не для чего.
...
так поболтать-почирикать.
;)
57. alexin08 61 27.03.13 10:04 Сейчас в теме
А для кадровика этот калькулятор очень даже интересен!
58. chmv 11.08.14 09:05 Сейчас в теме
59. Vovan58 64 11.08.14 09:37 Сейчас в теме
Как статью по поводу работы с датами - было бы интересно, а за деньги - стыдно!
Для отправки сообщения требуется регистрация/авторизация