Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Преобразование в дату          
Sodev Подменю пользователя
сообщение 02.02.11, 11:54
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Из: Киев
Спасибо сказали: 1 раз
Рейтинг: 0

Есть строковое значение вида "17.06.08". Его надо преобразовать в дату. С помощью Дата(Значение) сделать это не получается. Какие есть решения?

Vond Подменю пользователя
сообщение 02.02.11, 11:59
Сообщение #2

Оратор
Иконка группы
Группа: Местный
Сообщений: 310
Из: Киев
Спасибо сказали: 148 раз
Рейтинг: 0

разделить строку на 3 части (по разделителю точка) и будет и меся и день и год smile.gif


Signature
Платформа: 1С:Предприятие 8.3 (8.3.9)
Конфигурация: УПП (1.3.48)

logist Подменю пользователя
сообщение 02.02.11, 12:05
Сообщение #3

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

как-то так,
ДатаЗначение = Дата(Сред(ДатаСтрока,7,2),Сред(ДатаСтрока,4,2),Сред(ДатаСтрока,1,2));

Именно этот код работать не будет, т.к. у Вас год из двух символов, надо как-то его переделать в 4 символа и передать в первый параметр "Дата".


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: Dimon_ZP, Sodev,

logist Подменю пользователя
сообщение 02.02.11, 12:08
Сообщение #4

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Vond @ 02.02.11, 11:59) *
разделить строку на 3 части (по разделителю точка) и будет и меся и день и год smile.gif

Не по теме, но может пригодится, подскажите в 1С есть аналог explode (php)?


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Batchir Подменю пользователя
сообщение 02.02.11, 12:34
Сообщение #5

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

Для того чтобы получить дату нужно в нее передать строку в виде "ГГГГММДД", т.е.
ДатаЗначение = Дата("ГГГГДДММ");

Цитата
Не по теме, но может пригодится, подскажите в 1С есть аналог explode (php)?

Вроде пока не додумались её написать, но не вижу проблем
работоспособность не проверял, писал от руки
Функция РазбитьСтрокуНаМассивПодстрок(ИсходнаяСтрока,РазделительСтрок)
   СтрокаДляРазбора = ИсходнаяСтрока;
   СтрокаДляРазбора = СтрЗаменить(СтрокаДляРазбора, РазделительСтрок, Символы.ПС);
   МассивСтрок = новый Массив;
   КолвоСтрок = СтрЧислоСтрок(СтрокаДляРазбора);
   Для НомСтр = 1 По КолвоСтрок Цикл
      МассивСтрок.Добавить(СтрПолучитьСтроку(СтрокаДляРазбора, НомСтр));
   КонецЦикла;
   Возврат МассивСтрок;
КонецФункции

Спасибо сказали: logist,

Vofka Подменю пользователя
сообщение 02.02.11, 12:38
Сообщение #6

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

Цитата
Не по теме, но может пригодится, подскажите в 1С есть аналог explode (php)?

По моему встроенной нет, но можно написать свою smile.gif

Sodev Подменю пользователя
сообщение 02.02.11, 13:52
Сообщение #7

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Из: Киев
Спасибо сказали: 1 раз
Рейтинг: 0

Цитата(logist @ 02.02.11, 13:05) *
как-то так,
ДатаЗначение = Дата(Сред(ДатаСтрока,7,2),Сред(ДатаСтрока,4,2),Сред(ДатаСтрока,1,2));

Именно этот код работать не будет, т.к. у Вас год из двух символов, надо как-то его переделать в 4 символа и передать в первый параметр "Дата".


Так и сделал, все заработало. Спс.

Спасибо сказали: Dimon_ZP,

DartRomanius Подменю пользователя
сообщение 02.02.11, 14:05
Сообщение #8

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

Или отсылка к Синтаксис-Помощнику

Цитата
Дата(<Значение>)
Параметры:

<Значение> (обязательный)

Тип: Строка. Исходное значение даты.
Строка должна содержать дату в локальном формате даты или в каноническом виде YYYYMMDDHHMMSS.




Вариант синтаксиса: По составляющим

Синтаксис:

Дата(<Год>, <Месяц>, <День>, <Час>, <Минута>, <Секунда>)
Параметры:

<Год> (обязательный)

Тип: Число. Год даты.
<Месяц> (обязательный)

Тип: Число. Месяц даты.
<День> (обязательный)

Тип: Число. День даты.
<Час> (необязательный)

Тип: Число. Час даты.
<Минута> (необязательный)

Тип: Число. Минута даты.
<Секунда> (необязательный)

Тип: Число. Секунда даты.
Описание варианта метода:

Допускаются следующие формы задания параметров:
Дата(Год, Месяц, День);
Дата(Год, Месяц, День, Час, Минута, Секунда);






Пример:

Дата("19840326062421");
Дата(1984,03,26,06,24,21);


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 25.04.24, 8:43
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!