8.х Ошибка с типом Отбор

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Petrovich1984, 13 ноя 2008.

  1. TopicStarter Overlay
    Petrovich1984
    Offline

    Petrovich1984

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

    При повторном выборе позиции Номенклатура в документе ОказаниеУслуги (чтобы увидеть изменение цены), выходит следующее сообщение: "Значение не является значением объектного типа (Отбор)". Подробно: "{ОбщийМодуль.РаботаСоСправочниками(7)}: Значение не является значением объектного типа (Отбор)
    ЗначенияРесурсов = РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата.Отбор);" Что бы это могло значить?
    Заранее спасибо.
  2. Эмин
    Offline

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    В отладчике посмотрите что и как у вас заполняется, все ли корректно.
    Я бы, кстати, еще проверку на пустое значение номенклатуры сделал. В общем гляньте внимательнее сами, главное научиться находить такие ошибки самостоятельно
  3. DmitryS
    Offline

    DmitryS Опытный в 1С

    Регистрация:
    20 июл 2007
    Сообщения:
    119
    Симпатии:
    0
    Баллы:
    26
    Вижу ошибку типа "ошибка машинистки": там где вызов функции ПолучитьПоследнее(АктуальнаяДата.Отбор) стоит "точка", а нада "запятая".
  4. TopicStarter Overlay
    Petrovich1984
    Offline

    Petrovich1984

    Регистрация:
    1 ноя 2008
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Всем большое спасибо! Действительно, нужна была запятая, а не точка.

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