Имя: Пароль:
1C
1С v8
Данные из регистра сведений
0 pt_denis
 
06.08.14
23:57
Здравствуйте. Я только начал программировать, так что сразу не ругайтесь =)
У меня есть справочник ВидыНДС, и регистр сведений НДС с измерением СправочникСсылка.ВидыНДС КАК ВидНДС и измерением процентная ставка.
В регистре я создал Вид НДС Полное и ввел процентную ставку.
Как мне теперь изъять из регистра процентную ставку для использования ее в документе?
1 КонецЦикла
 
07.08.14
00:06
ВидНДС.Ставка?
2 pt_denis
 
07.08.14
00:12
(1) не понял...
Мне нужно в документе в реквизит вписать расчет НДС. Я сейчас пробую отбором типа такого

Функция ОтборПроцентнойСтавки(Дата,ВидНДС) Экспорт
    Отбор = Новый Структура;
    Отбор.Вставить("ВидНДС",ВидНДС);
    ЗначенияРесурсов = РегистрыСведений.НДС.ПолучитьПоследнее(,Отбор);
    Возврат ЗначенияРесурсов.ПроцентнаяСтавка;
КонецФункции

и в документе вписать

НДС = ПереченьТМЦ.Итог("Сумма")*ОтборНДС.ОтборПроцентнойСтавки(,Полное);

Не выходит.
3 hhhh
 
07.08.14
00:27
что конкретно не получается?
4 pt_denis
 
07.08.14
00:33
(3) Мне нужно эту процентную ставку умножить на СуммаВДокументе для получения НДС.
Если я ввожу тот отбор что показал здесь (2), то выдает ошибку Значение не является значением объектного типа (ПроцентнаяСтавка)
    Возврат ЗначенияРесурсов.ПроцентнаяСтавка;

Может я вообще не правильно делаю и данные нужно брать по другому?
5 anatoly
 
07.08.14
00:37
почему ставка - измерение а не ресурс??
выбирай в запросе через СрезПоследних - так логичнее.
6 Asmody
 
07.08.14
00:38
(2) У тебя в функцию Дата не передается.
7 Asmody
 
07.08.14
00:39
И ЗначенияРесурсов нужно проверить на Неопределено, а то мало ли...
8 hhhh
 
07.08.14
00:39
(4) ну значит получить последнее не срабатывает. Видимо вы неправильно задали вид НДС. Какое значение у вас в переменной Полное?
9 pt_denis
 
07.08.14
00:53
(8) Там была не переменная, я там пытался вписать как "полное" . Мне из регистра нужно взять ВидНДС(Измерение) - Полное его ресурс ПроцентнаяСтавка...
10 hhhh
 
07.08.14
00:56
(9) но в переменное Полное вы чего-то присвоили. Эта переменная у вас есть, иначе бы выдало ошибку "не найдена переменная "Полное".
11 hhhh
 
07.08.14
00:58
у вас должно в документе поле ВидНДС, где юзер задает вид ндс.
12 pt_denis
 
07.08.14
00:58
(10) Оно мне и выдавало это =) Я просто скопировал текст когда кавычки убрал.
13 pt_denis
 
07.08.14
01:00
(10) Да, добавил уже.
НДС = ПереченьТМЦ.Итог("Сумма")*ОтборНДС.ОтборПроцентнойСтавки(,ВидНДС); тоже про процентную ставку ругается
14 hhhh
 
07.08.14
01:01
а ВидНДС определил?
15 pt_denis
 
07.08.14
01:04
(14) Ну ВидНДС это я реквизит в документе еще создал где пользователь выбирает вид НДС с ссылкой на справочник.
16 hhhh
 
07.08.14
01:04
и вообще как в (7) советуют

    ЗначенияРесурсов = РегистрыСведений.НДС.ПолучитьПоследнее(,Отбор);
    Если ЗначенияРесурсов = Неопределено Тогда
       Возврат 0;
    Иначе
       Возврат ЗначенияРесурсов.ПроцентнаяСтавка;
    КонецЕсли;
17 hhhh
 
07.08.14
01:06
а ОтборНДС. что это? Общий модуль?
18 pt_denis
 
07.08.14
01:07
Да, о Вроде заработало) Спасибо)
Основная теорема систематики: Новые системы плодят новые проблемы.