| 
    
            
         
         | 
    
  | 
Как определить "состав даты", для типа дата. | ☑ | ||
|---|---|---|---|---|
| 
    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 
 | 
         
        У меня выборка идет, поэтому это как раз мой случай.     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |