7.7 Проблемы с получением значения периодического реквизита

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем Zhuravlik, 13 сен 2010.

  1. TopicStarter Overlay
    Zhuravlik
    Offline

    Zhuravlik

    Регистрация:
    13 сен 2010
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Есть такой вот код:

    Код:
    
    Рек = Метаданные.Справочник("ТорговыеТочки");
    КолРек = Рек.Реквизит();
    Запрос = СоздатьОбъект("Запрос");
    СпрНаим = Строка(СпрКод); //СпрКод - Переменная, определяемая в диалоге
    ТекстЗапроса = 
    "//{{Запрос (сформировать)
    |ТТ = Справочник.ТорговыеТочки.ТекущийЭлемент;
    |Обрабатывать НеПомеченныеНаУдаление;
    |Группировка ТТ Без Групп;
    |Условие (ТТ.Наименование = СпрНаим);
    |";
    Если Запрос.Выполнить(ТекстЗапроса) =0 Тогда
    Возврат;
    КонецЕсли;
    
    Для НОМ=1 По КолРек Цикл
    НаимРек = Рек.Реквизит(НОМ).Идентификатор;
    
    Пока Запрос.Группировка("ТТ")=1 Цикл
    
    Рез = Запрос.ТТ.ПолучитьАтрибут(НаимРек);
    
    Если ПустоеЗначение(Рез) = 1 Тогда
    Рез = "+";
    КонецЕсли;
    КонецЦикла;
    
    КонецЦикла;
    
    
    То есть я перебираю реквизиты справочника, а потом по идентификатору реквизита получаю его значение, для нужного наименования торговой точки. Все работает, но только на выходе имею два значения "НеизвестныйОбьект" посмотрел в конфигурации - реквизиты этих значений периодичекие. Пробовал сам безрезультатно ввести функцию для работы с периодич. но что-то у меня не клеится. В 1с-ке вообще нулевый, начал писать месяц назад, раньше на дельфях сидел. помогите пожалуйста разобраться)
  2. Vlad
    Offline

    Vlad Модераторы Команда форума Модератор

    Регистрация:
    16 авг 2006
    Сообщения:
    3.517
    Симпатии:
    19
    Баллы:
    29
    Зайди в Конфигуратор. В Синтаксис-помошнике во Встроеном языке найди папку Периодический. Посмотри, какие методы тебе подойдут.
  3. TopicStarter Overlay
    Zhuravlik
    Offline

    Zhuravlik

    Регистрация:
    13 сен 2010
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Круто.
    Я далеко не ас в программировании, но даже я курю мануал перед тем как задать вопрос.
    Я пробовал так:
    Код:
    			Если ТипЗначенияСтр(рез) = "Периодический" Тогда
    Рез = "Ура! Я отследил периодический атрибут!"
    КонецЕсли;
    
    На выходе имел неизвестный обьект. Еще вроде подошла бы функция ЗначениеНаДату(), но она работает вроде бы с созданным обьектом "периодический". А как его сюды вставить, я что-то не допетрю...
  4. TopicStarter Overlay
    Zhuravlik
    Offline

    Zhuravlik

    Регистрация:
    13 сен 2010
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    А-а-а-а! Я догнал:
    Код:
    			Если Рек.Реквизит(НОМ).Периодический = 1 Тогда
    Рез = "Ура! Я отследил периодический атрибут!";
    КонецЕсли;
    
    Теперь осталось получить значение...
  5. TopicStarter Overlay
    Zhuravlik
    Offline

    Zhuravlik

    Регистрация:
    13 сен 2010
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Вот я знаю идентификатор периодического реквизита. Как мне получить его значение в данном примере?
  6. Vlad
    Offline

    Vlad Модераторы Команда форума Модератор

    Регистрация:
    16 авг 2006
    Сообщения:
    3.517
    Симпатии:
    19
    Баллы:
    29
    Переменная = Реквизит.ЗначениеНаДату(Твоя дата)

Поделиться этой страницей