Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
19 апр 2024, 02:05

Список

Автор lampa, 24 июл 2014, 15:41

0 Пользователей и 1 гость просматривают эту тему.

lampa

Подскажите, пожалуйста, у меня есть таблица в которой отображается список номенклатуры. Хочу что бы при открытии этого списка открывалась определённая группа номенклатуры и показывала только ту номенклатуру, которая в этой группе. пишу запрос:

ВЫБРАТЬ
   Номенклатура.Ссылка
ИЗ
   Справочник.Номенклатура КАК Номенклатура
ГДЕ
   Номенклатура.Ссылка В ИЕРАРХИИ (&Гай)
   И НЕ Номенклатура.ЭтоГруппа

ГАЙ = Справочники.Номенклатура.НайтиПоНаименованию("Гай").Ссылка;   
   ИерархияНоменклатуры.Параметры.УстановитьЗначениеПараметра("Гай", ГАЙ);

Всё красиво при нажатии определённой кнопки, запрос отрабатывает и выводит нужную номенклатуру из группы.

Вопрос  - как вывести номенклатуру из другой группы, для другой кнопки, что бы не дублировать запрос? Мне сказали, что можно сделать список значений, но как его сделать?
Извините, я только учусь.


cska-fanat-kz

Уточните...

для одной кнопки (группы) сделали, теперь надо сделать то же, только для другой кнопки (группы)?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

lampa

Цитата: cska-fanat-kz от 24 июл 2014, 15:45
Уточните...

для одной кнопки (группы) сделали, теперь надо сделать то же, только для другой кнопки (группы)?

Да, у меня есть много кнопочек и каждая кнопка должна открывать определённую номенклатурную группу из справочника.
По одной группе я сделал запрос, но понял, что придется так копировать и создавать очень много запросов и мне сказали воспользоваться списком значений, но я не понимаю как это сделать.
Добавлено: 24 июл 2014, 15:57


У меня создан динамический список номенклатуры, в который я поместил этот запрос. У меня ут 8.3 11 =(

freez1301

сделайте функцию и вызывайте ее при нажатии на кнопки. При это в качестве параметра функции - передавайте Вашу группу

lampa

Цитата: freez1301 от 24 июл 2014, 16:26
сделайте функцию и вызывайте ее при нажатии на кнопки. При это в качестве параметра функции - передавайте Вашу группу

Это как? у меня в параметре запроса уже стоит параметр, что нужно выбрать "ГАЙ"

freez1301

Процедура НажатиеКнопки1 (Элемент)
Функция ОткрытиеГруппы("Гай1");
КонецПроцедуры

Процедура НажатиеКнопки2 (Элемент)
Функция ОткрытиеГруппы("Гай2");
КонецПроцедуры

Функция ОткрытиеГруппы(Группа)
ВЫБРАТЬ
   Номенклатура.Ссылка
ИЗ
   Справочник.Номенклатура КАК Номенклатура
ГДЕ
   Номенклатура.Ссылка В ИЕРАРХИИ (&Гай)
   И НЕ Номенклатура.ЭтоГруппа
Если Группа = "Гай1" Тогда
ГАЙ = Справочники.Номенклатура.НайтиПоНаименованию("Гай1");
Иначе
ГАЙ = Справочники.Номенклатура.НайтиПоНаименованию("Гай2");
КонецИначе; 
   ИерархияНоменклатуры.Параметры.УстановитьЗначениеПараметра("Гай", ГАЙ);
КонецФункции

как то так

lampa

Цитата: freez1301 от 24 июл 2014, 16:34
Процедура НажатиеКнопки1 (Элемент)
Функция ОткрытиеГруппы("Гай1");
КонецПроцедуры

Процедура НажатиеКнопки2 (Элемент)
Функция ОткрытиеГруппы("Гай2");
КонецПроцедуры

Функция ОткрытиеГруппы(Группа)
ВЫБРАТЬ
   Номенклатура.Ссылка
ИЗ
   Справочник.Номенклатура КАК Номенклатура
ГДЕ
   Номенклатура.Ссылка В ИЕРАРХИИ (&Гай)
   И НЕ Номенклатура.ЭтоГруппа
Если Группа = "Гай1" Тогда
ГАЙ = Справочники.Номенклатура.НайтиПоНаименованию("Гай1");
Иначе
ГАЙ = Справочники.Номенклатура.НайтиПоНаименованию("Гай2");
КонецИначе; 
   ИерархияНоменклатуры.Параметры.УстановитьЗначениеПараметра("Гай", ГАЙ);
КонецФункции

как то так

Это получается нужно в этой функции сразу занести все группы, которые мне нужны?

freez1301

да, получается так. Просто у тебя будет:

Если .... Тогда
...
ИначеЕсли .... Тогда
....
ИначеЕсли ... Тогда
...
Иначе
...
КонецЕсли;

cska-fanat-kz

Цитата: freez1301 от 24 июл 2014, 16:34
Процедура НажатиеКнопки1 (Элемент)
Функция ОткрытиеГруппы("Гай1");
КонецПроцедуры

Процедура НажатиеКнопки2 (Элемент)
Функция ОткрытиеГруппы("Гай2");
КонецПроцедуры

Функция ОткрытиеГруппы(Группа)
ВЫБРАТЬ
   Номенклатура.Ссылка
ИЗ
   Справочник.Номенклатура КАК Номенклатура
ГДЕ
   Номенклатура.Ссылка В ИЕРАРХИИ (&Гай)
   И НЕ Номенклатура.ЭтоГруппа
Если Группа = "Гай1" Тогда
ГАЙ = Справочники.Номенклатура.НайтиПоНаименованию("Гай1");
Иначе
ГАЙ = Справочники.Номенклатура.НайтиПоНаименованию("Гай2");
КонецИначе; 
   ИерархияНоменклатуры.Параметры.УстановитьЗначениеПараметра("Гай", ГАЙ);
КонецФункции

как то так

Зачем нужен "Если..." когда можно просто

Функция ОткрытиеГруппы(Группа)
...   
    ГАЙ = Справочники.Номенклатура.НайтиПоНаименованию(Группа);
    ИерархияНоменклатуры.Параметры.УстановитьЗначениеПараметра("Гай", ГАЙ);
...
КонецФункции

и кто так функцию вызывает?
Процедура НажатиеКнопки1 (Элемент)
Функция ОткрытиеГруппы("Гай1");
КонецПроцедуры

и не функция это а процедура
Процедура НажатиеКнопки1 (Элемент)
    ОткрытиеГруппы("Гай1");
КонецПроцедуры
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск