Имя: Пароль:
1C
1С v8
Стандартный реквизит "Период" для регистра расчёта
0 Бертыш
 
12.12.16
21:47
Программа анализируя метаданные формирует корд запросов. Порадовала возможность в регистрах (кроме регистров сведений) выбрать перечень стандартных реквизитов
Для Каждого СтандартныйРеквизит из Рег.СтандартныеРеквизиты Цикл
Стр.ПутиРегистра.Добавить(СтандартныйРеквизит.Имя);
КонецЦикла;
Однако при генерации запроса выплыло следующее....
У регистра расчета в перечне стандартных реквизитов типа дата есть реквизит который называется период. Однако не в запросе не в записи через набор записей к нему нельзя обратиться по причине того что на самом то деле его нет.
Проблема в релизе 8.3.6.2152
1 Бертыш
 
13.12.16
05:37
В общем на случай если кому интересно привожу код заглушки для проверки натурности стандартного реквизита
Функция ПроверкаНатуральностиСтандартногоРеквизита(_ИмяРег,_СтандартныйРеквизит)
    _Регистр=Вычислить("Регистры"+Сред(_ИмяРег,8));
    _Набор=_Регистр.СоздатьНаборЗаписей();
    _Запись=_Набор.Добавить();
    Попытка        _Дата=Вычислить("_Запись."+_СтандартныйРеквизит.Имя);
    Исключение
        Возврат Ложь;
    КонецПопытки;
    Возврат Истина;
КонецФункции
//То есть если получается прочитать значение реквизита из записи, то он у нас действительно есть