|   |   | 
| 
 | Как узнать есть ли реквизит докмента | ☑ | ||
|---|---|---|---|---|
| 0
    
        Melcor 05.11.13✎ 09:18 | 
        Доброго утра. 1С8.2 КА 1.1 Стоит задача узнать есть ли у документа реквизит склад, но в этой конфе нет процедуры ОбщегоНазначения.ЕстьРеквизитДокумента. Можно как-то еще выяснить наличие реквизита?     | |||
| 1
    
        zak555 05.11.13✎ 09:19 | 
        метаданные     | |||
| 2
    
        Ненавижу 1С гуру 05.11.13✎ 09:19 | 
        можно     | |||
| 3
    
        shuhard 05.11.13✎ 09:19 | 
        (0) написать свою функцию слабо ?     | |||
| 4
    
        shlyahtich 05.11.13✎ 09:19 | 
        Введите свой общий модуль и туда эту процедуру - для обновлений не помеха. А проверку повесить на подписку     | |||
| 5
    
        Ненавижу 1С гуру 05.11.13✎ 09:20 | 
        Если СсылкаНаТвойДокумент.Метаданные().Реквизиты.Найти("Склад")<>Неопределено Тогда     | |||
| 6
    
        zak555 05.11.13✎ 09:21 | 
        не верю, что нет такой функции     | |||
| 7
    
        Melcor 05.11.13✎ 09:22 | 
        (5) Спасибо     | |||
| 8
    
        shlyahtich 05.11.13✎ 09:22 | 
        (all) чего пристали к мальчику? лишь бы постебаться с утра. лучше на мой бы вопрос ответили )     | |||
| 9
    
        zak555 05.11.13✎ 09:30 | 
        + (6) странно, такой функции действительно нет, но есть
 // Позволяет определить есть ли среди реквизитов табличной части документа // реквизит с переданным именем. // // Параметры: // ИмяРеквизита - строковое имя искомого реквизита, // МетаданныеДокумента - объект описания метаданных документа, среди реквизитов которого производится поиск. // ИмяТабЧасти - строковое имя табличной части документа, среди реквизитов которого производится поиск // // Возвращаемое значение: // Истина - нашли реквизит с таким именем, Ложь - не нашли. // Функция ЕстьРеквизитТабЧастиДокумента(ИмяРеквизита, МетаданныеДокумента, ИмяТабЧасти) Экспорт ТабЧасть = МетаданныеДокумента.ТабличныеЧасти.Найти(ИмяТабЧасти); // есть таб. часть в документе Возврат ТабЧасть <> Неопределено И ТабЧасть.Реквизиты.Найти(ИмяРеквизита) <> Неопределено КонецФункции // ЕстьРеквизитТабЧастиДокумента() | |||
| 10
    
        DexterMorgan 05.11.13✎ 09:50 | 
        (9) а чем это от (5) отличается? тем что он метаданные документа в коде получил, а у тебя в коде в функцию передается?     | |||
| 11
    
        zak555 05.11.13✎ 11:39 | 
        (10) я к тому, что в КА типовой функции нет, но она есть в БП
 // Позволяет определить есть ли среди реквизитов шапки документа // реквизит с переданным именем. // // Параметры: // ИмяРеквизита - строковое имя искомого реквизита, // МетаданныеДокумента - объект описания метаданных документа, среди реквизитов которого производится поиск. // // Возвращаемое значение: // Истина - нашли реквизит с таким именем, Ложь - не нашли. // Функция ЕстьРеквизитДокумента(ИмяРеквизита, МетаданныеДокумента) Экспорт Возврат НЕ (МетаданныеДокумента.Реквизиты.Найти(ИмяРеквизита) = Неопределено); КонецФункции // ЕстьРеквизитДокумента() | |||
| 12
    
        mikecool 05.11.13✎ 11:43 | 
        (5) тогда уж
 Если Не СсылкаНаТвойДокумент.Метаданные().Реквизиты.Найти("Склад") = Неопределено Тогда | |||
| 13
    
        zak555 05.11.13✎ 11:43 | 
        (12) приоритет у НЕ     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |