Имя: Пароль:
1C
1С v8
Как в модуле задать переменной значение из справочника?
0 ZanZiBar
 
10.04.14
08:30
Товарищи форумчане есть потребность в модуле задать переменной значение из Справочника, что бы переменная пошла в виде параметра в запрос... Затупил

//////////////////
|(МАКСИМУМ(ВТ2.ОстаткиКоличество) - СУММА(ВТ2.РезервыКоличество) - ВТ2.ЗначениеТочкиЗаказа) * -1 * МАКСИМУМ(ЦеныНоменклатурыСрезПоследних.Цена) КАК СуммаЗакупки
        |ИЗ
        |    ВТ2 КАК ВТ2
        |        ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
        |        ПО ВТ2.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
        |
        |СГРУППИРОВАТЬ ПО
        |    ВТ2.Склад,
        |    ВТ2.Номенклатура,
        |    ВТ2.ПродажиКвартал,
        |    ВТ2.ЗначениеТочкиЗаказа";

    Запрос.УстановитьПараметр("ТипЦен", ТипЦен);
ТипЦен=Справочники.ТипыЦенНоменклатуры.Значения("Закупочная");// Вот собственно тут и косяк...
    Результат = Запрос.Выполнить();



//////////////////
1 Alexman13
 
10.04.14
08:32
Ну либо она у тебя предопределенная и обращаешься напрямую, либо через Найти()
2 butterbean
 
10.04.14
08:32
видимо надо Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Закупочная")
3 golden-pack
 
10.04.14
08:33
Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Закупочная"); // но так делать нежелательно
4 butterbean
 
10.04.14
08:33
(2)+ и писать это все ПЕРЕД установкой параметра в запрос
5 ZanZiBar
 
10.04.14
08:38
(2) (4)  Спасибо огромное от новичка))) То что надо)))
6 ZanZiBar
 
10.04.14
08:39
(3) Почему?
7 Infsams654
 
10.04.14
08:55
(6) потому что, её можно переименовать или создать др. типы цен: "Закупочная1", "Закупочная2" и т.п.
8 Cube
 
10.04.14
08:56
(0) Пользуйся ЗначениеВСтркуВнутр() и ЗначениеИзСтрокиВнутр()
9 13_Mult
 
10.04.14
09:07
Вообще тут Перечислением попахивает ;)
10 ZanZiBar
 
10.04.14
09:09
Ясно. А ещё вопрос... Как можно вызвать переменную из другого модуля?
Делаю
//////////
Модуль один
Функция Перем(а) Экспорт

а=задаём_переменную;

КонецФункции
////////////

////////////
Модуль два

Б=Перем(а);
////////////

Ругается... Не может найти ни функцию, ни переменную...
11 ZanZiBar
 
10.04.14
09:11
Значение переменной "а" это дата
12 Топтыга
 
10.04.14
09:12
Возврат??
13 Cube
 
10.04.14
09:13
(10) Б = МодульОдин.Перем(а);
14 Рэйв
 
10.04.14
09:15
(10)
Перем а;
Функция Ф(а) Экспорт

   а=задаём_переменную;
   Возврат а;
КонецФункции

Процедура КакаяТо()
   а=0;
   а=Ф(а);
КонецПроцедуры
15 Рэйв
 
10.04.14
09:15
(10)Но если Перем а вверху, то можно вообще не передавать параметр, она во всех процедурах доступна.
16 13_Mult
 
10.04.14
09:16
Почитай тут http://www.mista.ru/tutor_1c/
17 Ненавижу 1С
 
гуру
10.04.14
09:18
(9) тут константой попахивает или РС, перечисления мы уже отгребли на ставках НЛС, не надо больше
18 ZanZiBar
 
10.04.14
09:24
(13) Необходимо из модуля ФормыНастроек в ФормуФормированияЗаказовПоставщикам. Пишу ФормаНастроек.Перем(а). Не видит..
19 ZanZiBar
 
10.04.14
09:25
(17) Тут не константа и не перечисление. Это значение, которое вводит пользователь вручную в Форме настроек.
20 ZanZiBar
 
10.04.14
09:28
(14) Увы... Ни как не хочет...
21 ZanZiBar
 
10.04.14
09:41
Разобрался в общем))