Запрос.Установить параметр

1. vinsit 03.06.19 10:30 Сейчас в теме
Коллеги, доброго всем дня!
прошу помощи:
Имеем: 1С Бух, Справочник Договоры дополнен еще одним реквизитом - проекты. Учет по проектам орагнизован вокруг договора-проекта.
Необходимо оранизовать подбор номенклатуры по заданному договором проекту в реализации.
Задача - инструментом "подбор" в Реализации вывести перечень номенклатуры соответствующих требованию = Берем только ту номенклатуру, которая относится к конкретному проекту, указанному в договоре данной реализации.


Функция ПолучитьСписокСчетов(Знач СписокСчетов, Знач СписокСубконто, Знач ПоказыватьЗабалансовые)
Запрос = Новый Запрос;

Исключения = Новый Массив;
Исключения.Добавить(ПланыСчетов.Хозрасчетный.Продажи); // 90
Исключения.Добавить(ПланыСчетов.Хозрасчетный.ГТД);
Исключения.Добавить(ПланыСчетов.Хозрасчетный.МатериальныеЦенностиВЭксплуатации); // МЦ

Запрос.УстановитьПараметр("СписокСубконто", СписокСубконто); ///!?
Запрос.УстановитьПараметр("Исключения", Исключения);
Запрос.УстановитьПараметр("Номенклатура",

Если СписокСчетов.Количество() <> 0 Тогда

Запрос.УстановитьПараметр("СписокСчетов", СписокСчетов);

КонецЕсли;

Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ХозрасчетныйВидыСубконто.Ссылка
|ИЗ
| ПланСчетов.Хозрасчетный.ВидыСубконто КАК ХозрасчетныйВидыСубконто
|ГДЕ
| ХозрасчетныйВидыСубконто.ВидСубконто В(&СписокСубконто)
| И НЕ ХозрасчетныйВидыСубконто.Ссылка В ИЕРАРХИИ(&Исключения)
| И НЕ ХозрасчетныйВидыСубконто.Ссылка.ЗапретитьИспользоватьВПроводках
| И ХозрасчетныйВидыСубконто.Ссылка.Количественный
| И НЕ ХозрасчетныйВидыСубконто.ТолькоОбороты"
+ ?(ПоказыватьЗабалансовые, "", " И НЕ ХозрасчетныйВидыСубконто.Ссылка.Забалансовый")
+?(СписокСчетов.Количество() = 0, "", " И ХозрасчетныйВидыСубконто.Ссылка В ИЕРАРХИИ (&СписокСчетов)");

Возврат Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");

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


Не могу понять как задать правильно параметр
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. mrx2012 03.06.19 10:46 Сейчас в теме
а причем тут этот запрос?
4. ПодводныйТ 45 03.06.19 11:00 Сейчас в теме
(2) Согласен, какой то левый запрос, который не имеет отношения к задаче, либо мы чего то не знаем)
3. ПодводныйТ 45 03.06.19 10:58 Сейчас в теме
Нужно получить сначала нужный список номенклатуры к этому запросу?
5. x_x 2 03.06.19 11:06 Сейчас в теме
делайте запрос к "УстановкаПроектовДляНоменклатуры" выгружайте оттуда номенклатуру, и дальше отбора формы выбора номенклатуры в сравнении в списке.
alex-l19041; +1 Ответить
6. vinsit 03.06.19 11:08 Сейчас в теме
Ну да, запрос можно опустить
7. ПодводныйТ 45 03.06.19 11:21 Сейчас в теме
(6) По кнопке подбор посмотрите что происходит - скорее всего открывается форма подбора номенклатуры с параметрами - вот туда думаю надо подсунуть еще и ваш проект.
8. x_x 2 03.06.19 11:40 Сейчас в теме
Процедура ПолеНачалоВыбора(Элемент, СтандартнаяОбработка)

//что то типа такого
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| УстановкаПроектовДляНоменклатурыСрезПоследних.НоменклатураПроекта
|ИЗ
| РегистрСведений.УстановкаПроектовДляНоменклатуры.СрезПоследних(
| ,
| Период > &Датапроекта
| И Проект = &Проект) КАК УстановкаПроектовДляНоменклатурыСрезПоследних
|
|СГРУППИРОВАТЬ ПО
| УстановкаПроектовДляНоменклатурыСрезПоследних.НоменклатураПроекта";

Запрос.УстановитьПараметр("Датапроекта", Датапроекта);
Запрос.УстановитьПараметр("Проект", Проект);

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





Конецпроцедуры
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот