|
Как определить "состав даты", для типа дата. | ☑ | ||
---|---|---|---|---|
0
paulic
11.10.11
✎
16:23
|
Подскажите пожалуйста!
На обычном типе все происходит легко ПроверяемыйТип = Тип("Дата"); Сообщить(Тип(ПроверяемыйТип)); Вернет тип Дата А как организовать такую же систему с составом типа даты? Это нужно для проверки вот такого типа ПроверяемыйТип = Тип("ДатаВремя"); Если ЗначениеИзОбработки.СодержитТип(ПроверяемыйТип) Тогда Сообщить(1); |
|||
1
unregistered
11.10.11
✎
16:26
|
В квалификатор даты глянуть?
|
|||
2
paulic
11.10.11
✎
16:41
|
Как?
Не могли бы вы дать код? Я пробовал таким способом ПроверяемыйТип = Новый КвалификаторыДаты(ЧастиДаты.ДатаВремя); Сообщить(Тип(ПроверяемыйТип)); но возврашается "Квалификаторы даты" |
|||
3
paulic
11.10.11
✎
16:56
|
Хотя бы приблизительно, в какую сторону копать??
|
|||
4
а кому щас легко
11.10.11
✎
17:00
|
(3) проверять на длину строки (СтрДлина(Дата))?
|
|||
5
vmv
11.10.11
✎
17:02
|
дарю с барского плеча
Функция ПолучитьПредставлениеТипаПоОписаниюТипа(ПараметрОписаниеТипа) Экспорт ПредставлениеТипа = ""; Для каждого ТипОписаниеТипа Из ПараметрОписаниеТипа.Типы() Цикл Если ТипОписаниеТипа = Тип("Булево") Тогда ПредставлениеТипа = ПредставлениеТипа+"Булево,"; ИначеЕсли ТипОписаниеТипа = Тип("Строка") Тогда ПредставлениеТипа = ПредставлениеТипа+"Строка("+ПараметрОписаниеТипа.КвалификаТорыСтроки.Длина+"),"; ИначеЕсли ТипОписаниеТипа = Тип("Дата") Тогда ПредставлениеТипа = ПредставлениеТипа+"Дата(" +ПараметрОписаниеТипа.КвалификаТорыДаты.ЧастиДаты+"),"; ИначеЕсли ТипОписаниеТипа = Тип("Число") Тогда ПараметрыТипаЧисло = "" + ПараметрОписаниеТипа.КвалификаТорыЧисла.Разрядность; Если ПараметрОписаниеТипа.КвалификаТорыЧисла.РазрядностьДробнойЧасти Тогда ПараметрыТипаЧисло = ПараметрыТипаЧисло+","+ПараметрОписаниеТипа.КвалификаТорыЧисла.РазрядностьДробнойЧасти; Иначе ПараметрыТипаЧисло = ПараметрыТипаЧисло+","+"0"; КонецЕсли; Если ПараметрОписаниеТипа.КвалификаТорыЧисла.ДопустимыйЗнак = ДопустимыйЗнак.Неотрицательный Тогда ПараметрыТипаЧисло = ПараметрыТипаЧисло+"+"; Иначе ПараметрыТипаЧисло = ПараметрыТипаЧисло+"+/-"; КонецЕсли; ПредставлениеТипа = ПредставлениеТипа+"Число("+ПараметрыТипаЧисло+"),"; Иначе ПредставлениеТипа = ПредставлениеТипа+Строка(ТипОписаниеТипа)+","; КонецЕсли; КонецЦикла; СтрДлинаПредставлениеТипа = СтрДлина(ПредставлениеТипа); Если СтрДлинаПредставлениеТипа Тогда ПредставлениеТипа = Лев(ПредставлениеТипа, СтрДлинаПредставлениеТипа - 1); КонецЕсли; Возврат ПредставлениеТипа; КонецФункции |
|||
6
acsent
11.10.11
✎
17:03
|
Не путай Тип и ОписаниеТипа
|
|||
7
paulic
11.10.11
✎
17:19
|
(6)
Вот так тоже пробовал ПроверяемыйТип = Новый ОписаниеТипов("Дата" , , , Новый КвалификаторыДаты(ЧастиДаты.Время));//ЧастиДаты.Время; Сообщить(Тип(ПроверяемыйТип)); Но возвращает только *Дата* |
|||
8
paulic
11.10.11
✎
17:22
|
(5)
Спасибо большое, только я не сильно знаком с 1с, учусь Подскажите что такое ПараметрОписаниеТипа ? какое значение передвать в функцию? |
|||
9
paulic
11.10.11
✎
17:27
|
(5)
Прошу прощения. Разобрался) Спасибо большое за помощь!!!! |
|||
10
acsent
11.10.11
✎
17:27
|
значение типа дата всегда содержит дата+время
|
|||
11
paulic
11.10.11
✎
17:28
|
Содержит оно всегда, но отображается же не всегда.
в зависимости какой состав стоит. |
|||
12
acsent
11.10.11
✎
17:29
|
реквизит может быть временем без даты, а значение нет
|
|||
13
paulic
11.10.11
✎
17:32
|
У меня выборка идет, поэтому это как раз мой случай.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |