|
Автоматическое заполнение поля Цена | ☑ | ||
---|---|---|---|---|
0
swerlana
04.02.15
✎
00:35
|
{ОбщийМодуль.РаботаСоСправочниками.Модуль(10)}: Значение не является значением объектного типа (Цена)
Возврат ЗначенияРесурсов.Цена; Выдает такую ошибку. Помогите исправить, срочно! Код, общего модуся Работа со справочниками Функция РозничнаяЦена(АктуальнаяДата, ЭлементУслуги) Экспорт // Создать вспомогательный объект Отбор Отбор = Новый Структура("Услуга", ЭлементУслуги); // Получить актуальные значения ресурсов регистра ЗначенияРесурсов = РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата, Отбор); Возврат ЗначенияРесурсов.Цена; КонецФункции |
|||
1
Крошка Ру
04.02.15
✎
00:49
|
(0) Это означает, что ПолучитьПоследнее() по такому отбору не находит строки в регистре, а ты из отсутствующей строки пытаешься цену получить. Естественно, оно ругается.
А, вообще, отладчиком пользуйся, да. |
|||
3
swerlana
04.02.15
✎
00:56
|
(1) Что же такого с ценой не так?
Чуть поправила Функция РозничнаяЦена(АктуальнаяДата, ЭлементНоменклатуры) Экспорт // Создать вспомогательный объект Отбор Отбор = Новый Структура("Номенклатура", ЭлементНоменклатуры); // Получить актуальные значения ресурсов регистра ЗначенияРесурсов = РегистрыСведений.Цены.ПолучитьПоследнее(Отбор); Возврат ЗначенияРесурсов.Цена; КонецФункции Новая ошибка. {ОбщийМодуль.РаботаСоСправочниками.Модуль(9)}: Значение не является значением объектного типа (Цена) Возврат ЗначенияРесурсов.Цена; Вразуми глупенькую, как отладчиком воспользоваться? |
|||
4
GROOVY
04.02.15
✎
01:07
|
(3) Что возвращает ПолучитьПоследнее()?
|
|||
5
swerlana
04.02.15
✎
01:12
|
(4) Сделать отбор, получить из регистра сведений цену, прикрепленную к услугам
|
|||
6
GROOVY
04.02.15
✎
01:24
|
(5) Вы не ответили на мой вопрос.
|
|||
7
swerlana
04.02.15
✎
01:30
|
(6) Может подскажете?Я чего то вообще уже :(
|
|||
8
swerlana
04.02.15
✎
01:38
|
А как посмотреть результаты выполнения?
Выводит ошибку {ОбщийМодуль.РаботаСоСправочниками.Модуль(8)}: Значение не является значением объектного типа (Цена) Возврат ЗначенияРесурсов.Цена; Похоже до возврата переменной дело не доходит |
|||
9
swerlana
04.02.15
✎
01:40
|
При коде в Общем модуле "Работа со справочником"
|
|||
10
swerlana
04.02.15
✎
01:40
|
Функция РозничнаяЦена(АктуальнаяДата,
ЭлементУслуги) Экспорт // Создать вспомогательный объект Отбор Отбор = Новый Структура("Услуга", ЭлементУслуги); // Получить актуальные значения ресурсов регистра ЗначенияРесурсов = РегистрыСведений.Цены.ПолучитьПоследнее(Отбор); Возврат ЗначенияРесурсов.Цена; КонецФункции |
|||
11
swerlana
04.02.15
✎
01:47
|
Как надо обозначить ЦЕНУ, чтобы она уходила в счет.
Если ЦЕНА находится в табличной части документа "выполненные услуги" на одном уровне с "услугами", с которыми привязана в регистре сведений |
|||
12
GROOVY
04.02.15
✎
01:50
|
Да чтож такое!
Что у Вас метод возвращает? Что там в переменной "ЗначенияРесурсов"? |
|||
13
swerlana
04.02.15
✎
01:52
|
(12) ЗначенияРесурсов = РегистрыСведений.Цены.ПолучитьПоследнее(Отбор);
|
|||
14
GROOVY
04.02.15
✎
01:53
|
Зашибись.
|
|||
15
GROOVY
04.02.15
✎
01:54
|
Давайте так. Какой тип значения имеет переменная ЗначенияРесурсов?
|
|||
16
swerlana
04.02.15
✎
02:01
|
Должна быть числовой. но программа предлагает по дате. Мне эту дату и не надо. Может без нее как то переделать?
|
|||
17
GROOVY
04.02.15
✎
02:06
|
Да ладно. А что в синтаксис-помощнике написано, что возвращает метод "ПолучитьПоследнее"?
|
|||
18
swerlana
04.02.15
✎
02:10
|
РегистрСведенийМенеджер.<Имя регистра сведений> (InformationRegisterManager.<Имя регистра сведений>)
ПолучитьПоследнее (GetLast) Синтаксис: ПолучитьПоследнее(<КонецПериода>, <Отбор>) Параметры: <КонецПериода> (необязательный) Тип: Дата; МоментВремени; Граница. Определяет момент времени, по который необходимо получить значения ресурсов. Может задаваться значениями типа Дата, МоментВремени или Граница. Если параметр не указан, то будут возвращены значения ресурсов самой последней записи регистра. <Отбор> (необязательный) Тип: Структура. |
|||
19
GROOVY
04.02.15
✎
02:11
|
Так. А почему Вы говорите, что у Вас в переменной число или дата?
|
|||
20
swerlana
04.02.15
✎
02:13
|
Простите, глупость сморозила
|
|||
21
GROOVY
04.02.15
✎
02:21
|
Теперь посмотрите, что в самой переменной. Это делается отладчиком. Точка останова F9 Запуск в режиме отладки F5, вычислить выражение - shift+F9
|
|||
22
swerlana
04.02.15
✎
02:33
|
{(1,81)}: Ошибка в выражении
ЗначенияРесурсов = РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата,Отбор); |
|||
23
GROOVY
04.02.15
✎
02:47
|
Удачи Вам.
|
|||
24
swerlana
04.02.15
✎
02:53
|
(23) Спасибо Вам! Но я так и не знаю пока, как ее исправить
|
|||
25
razlagator
04.02.15
✎
03:02
|
(24) через ПолучитьПоследнее() вы не получите цену, используйте СрезПоследних(), плюс там нужно учесть ТипЦены...
|
|||
26
razlagator
04.02.15
✎
03:03
|
(24) а вообще, без фото не взлетит
|
|||
27
swerlana
04.02.15
✎
03:06
|
(26) фото чего нужно?
|
|||
28
swerlana
04.02.15
✎
03:09
|
&НаКлиенте
//Процедура Выполняемая_работаУслугаПриИзменении(Элемент) // Получить текущую строку табличной части //СтрокаТабличнойЧасти = Элементы. Выполняемая_работа.ТекущиеДанные; // Установить цену //СтрокаТабличнойЧасти.Цена = РаботаСоСправочниками.РозничнаяЦена(Объект.Дата,СтрокаТабличнойЧасти.Услуга); // Пересчитать сумму строки //СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество*СтрокаТабличнойЧасти.Цена; //КонецПроцедуры это я позакрывала, чтоб пока другое делаю, не ругался |
|||
29
Mankubus
04.02.15
✎
06:22
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |